配置,初始化和管理PXF
Greenplum平台扩展框架(PXF)由Greenplum数据库协议和将外部数据源映射到表定义的Java服务组成。本主题介绍如何配置,初始化和管理PXF。
安装PXF
安装Greenplum数据库时,PXF安装在主节点上。在调用gpseginstall命令时,可以在Greenplum数据库段主机上安装PXF 。
您必须先显式初始化并启动PXF,然后才能使用该框架。您还必须在计划使用它的每个数据库中显式启用PXF。
PXF安装文件/目录
Greenplum数据库群集中安装了以下PXF文件和目录。这些文件/目录相对于$GPHOME:
目录 | 描述 |
---|---|
pxf | PXF安装目录。 |
pxf/apache-tomcat | PXF tomcat目录。 |
pxf/bin | PXF脚本和可执行目录。 |
pxf/conf | PXF配置目录。该目录包含pxf-env.sh,pxf-public.classpath,pxf-private.classpath和pxf-profiles.xml配置文件。 |
pxf/conf-templates | PXF的配置模板。 |
pxf/lib | PXF库目录。 |
pxf/logs | PXF日志文件目录。包括pxf-service.log和Tomcat相关的日志,包括catalina.out。日志目录和日志文件只能由gpadmin用户读取。 |
pxf/pxf-service | 初始化PXF后,PXF服务实例目录。 |
pxf/run | 启动PXF后,PXF运行目录。包含PXF catalina进程ID文件。 |
pxf/tomcat-templates | PXF的Tomcat模板。 |
初始化PXF
您必须显式初始化PXF服务实例。这种一次性初始化创建了PXF服务Web应用程序。它还会更新PXF配置文件,以包含特定于Hadoop集群配置的信息。
环境准备
在Greenplum数据库群集中初始化PXF之前,请确保您具有:
- 在每个Greenplum数据库segment主机上安装并配置所需的Hadoop客户端。有关说明,请参阅安装和配置PXF的Hadoop客户端。
- 授予对将在Greenplum数据库中作为外部表访问的HDFS文件和目录的读取权限。如果启用了用户模拟(默认设置),则必须将此权限授予将使用引用HDFS文件的外部表的每个Greenplum数据库用户/角色名称。如果未启用用户模拟,则必须将此权限授予gpadmin用户。
操作流程
执行以下过程在Greenplum数据库群集中的每个segement主机上初始化PXF。可以使用gpssh同时操作多个主机。
1、登录Greenplum Database主节点并设置您的环境:
$ ssh gpadmin@<gpmaster>
gpadmin@gpmaster$ . /usr/local/greenplum-db/greenplum_path.sh
2、创建一个文本文件,列出您的Greenplum数据库segment主机,每行一个主机名。确保文件中没有空行或多余空格。例如,名为的文件seghostfile可能包括:
seghost1
seghost2
seghost3
3、安装unzip软件包,用于后续解压zip压缩文件,如果存在忽略该步骤:
gpadmin@gpmaster$ gpssh -e -v -f seghostfile "sudo yum -y install unzip"
4、运行该pxf init命令以在每个段主机上初始化PXF服务。例如:
gpadmin@gpmaster$ gpssh -e -v -f seghostfile "/usr/local/greenplum-db/pxf/bin/pxf init"
该init命令创建并初始化PXF Web应用程序。它还会更新pxf-private.classpath文件以包含Hadoop分发JAR文件的条目。
启动PXF
初始化PXF后,必须在Greenplum数据库群集中的每个segment主机上显式启动PXF。PXF服务一旦启动,就会gpadmin以默认端口5888上的gpadmin用户身份运行。只有gpadmin用户才能启动和停止PXF服务。
执行以下过程以在Greenplum数据库群集中的每个segment主机上启动PXF。可以使用gpssh命令在所有segment主机执行启动命令。
1、登录Greenplum Database主节点并设置环境变量:
$ ssh gpadmin@<gpmaster>
gpadmin@gpmaster$ . /usr/local/greenplum-db/greenplum_path.sh
2、运行pxf start命令以在每个segment主机上启动PXF。例如,seghostfile包含Greenplum数据库群集中segment主机的列表,每行一个主机名称:
$ gpadmin@gpmaster$ gpssh -e -v -f seghostfile "/usr/local/greenplum-db/pxf/bin/pxf start"
停止PXF
如果必须停止PXF,例如,如果要升级PXF,则必须在Greenplum数据库群集中的每个segment主机上显式停止PXF。只有gpadmin用户才能停止PXF服务。
执行以下过程以在Greenplum数据库群集中的每个segment主机上停止PXF。可以使用gpssh批量在集群中的所有segment服务器上执行该命令。
1、登录Greenplum Database主节点并设置环境变量:
$ ssh gpadmin@<gpmaster>
gpadmin@gpmaster$ . /usr/local/greenplum-db/greenplum_path.sh
2、在每个segment主机上运行pxf stop命令来停止PXF。其中seghostfile包含Greenplum数据库群集中segment主机的列表,每一行包含一个主机名:
$ gpadmin@gpmaster$ gpssh -e -v -f seghostfile "/usr/local/greenplum-db/pxf/bin/pxf stop"
PXF服务管理
该pxf命令支持init,start,stop,restart,和status操作。这些操作在本地运行。也就是说,如果要在特定段主机上启动或停止PXF代理,则可以登录主机并运行该命令。如果要在多个段主机上启动或停止PXF代理,请使用gpssh上面显示的实用程序,或单独登录到每个段主机并运行该命令。
注意:如果在PXF服务运行时更新Hadoop或Hive配置,则必须将任何更新的配置文件复制到每个Greenplum数据库段主机,并在每台主机上重新启动PXF。
参考网址:http://gpdb.docs.pivotal.io/580/pxf/cfginitstart_pxf.html