初始化PXF
你必须显式初始化PXF服务实例。 此一次性初始化将创建PXF服务Web应用程序并生成PXF配置文件和模板。
PXF提供了两个你可以在初始化时候使用的管理命令
pxf cluster init
- 初始化所有在GP集群中的pxf服务实例pxf init
- 初始化当前节点上的pxf服务实例
PXF还提供了类似的reset
命令,可用于重置PXF配置。
PXF配置属性
PXF同时支持内部的和用户自定义的配置属性。初始化PXF会生成PXF内部配置文件,并设置特定于您的配置的默认属性。初始化PXF还会为用户自定义设置生成配置文件模板,例如自定义配置文件和PXF运行时间和日志记录设置。
PXF内部配置文件位于$GPHOME/pxf/conf
目录,在初始化PXF时,你可以通过指定环境变量$PXF_CONF
来配置用户目录。如果在初始化PXF之前未设置$PXF_CONF
,PXF可能会在初始化过程中提示您接受或拒绝默认用户配置目录$HOME/pxf
。
Note: 选择可以备份的$PXF_CONF
位置,并确保他在GPDB安装目录之外。
在初始化期间,PXF会根据需要创建$PXF_CONF
目录然后使用子目录和模板文件填充他。有关这些目录和内容的列表,可以参照PXF User Configuration Directories
准备
GPDB实例初始化PXF之前,请确保:
- GPDB集群是启动并且运行的
- 可以通过
$PXF_CONF
指定PXF用户配置目录的文件位置,并且gpadmin
用户也需要对这个目录有写权限
过程
执行一下流程确保在你的GPDB集群的每个节点初始化PXF。
登录GPDB的master节点
$ ssh gpadmin@<gpmaster>
运行
pxf cluster init
命令会在master,standby节点和所有的segment节点主机上初始化PXF服务。如下命令指定/usr/local/greenplum-pxf
作为pxf初始化的用户配置目录gpadmin@gpmaster$ PXF_CONF=/usr/local/greenplum-pxf $GPHOME/pxf/bin/pxf cluster init
init
命令创建了pxf网页应用和pxf内部配置。init命令也创建了$PXF_CONF
用户配置目录(如果目录不存在)并使用用户可自定义的配置模板填充conf
和templates
目录。如果$PXF_CONF
存在,则PXF仅更新templates
目录。Note:PXF服务只运行在segment主机上,然而
pxf cluster init
命令也会安装在GPDB的master和standby主机上创建PXF用户配置目录。
重置PXF
如果需要,可以将PXF重置为其未初始化状态。如果您指定了错误的PXF_CONF
目录,或者您想从头开始初始化过程,则可以选择重置PXF。
重置PXF时,PXF会提示您确认操作。如果确认,PXF将删除以下运行时文件和目录(其中PXF_HOME=$GPHOME/pxf
):
$PXF_HOME/conf/pxf-private.classpath
$PXF_HOME/pxf-service
$PXF_HOME/run
重置操作期间PXF不会删除$PXF_CONF
目录。
必须先在segment主机上停止PXF服务实例,然后才能在主机上重置PXF。
步骤
执行以下过程在Greenplum数据库集群中的每个segment主机上重置PXF。
登录到Greenplum数据库master节点:
$ ssh gpadmin@<gpmaster>
在每个segment主机上停止PXF服务实例。例如:
gpadmin@gpmaster$ $GPHOME/pxf/bin/pxf cluster stop
在所有Greenplum主机上重置PXF服务实例。例如:
gpadmin@gpmaster$ $GPHOME/pxf/bin/pxf cluster reset
注意: 重置PXF之后,必须初始化并启动PXF才能再次使用该服务。