初始化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 initinit命令创建了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才能再次使用该服务。