PXF 安装

Platform Extension Framework(PXF)使用 Foreign Data Wrapper(FDW)的机制访问存储在 YMatrix 数据库外部源中的数据。

  • PXF 需要 Java 8 或 Java 11 的运行环境,并且需要环境变量 $JAVA_HOME 已设置。
  • PXF RPM 默认安装路径为 /usr/local/pxf-matrixdb3
  • 集群内所有机器均需要安装和配置 PXF。

注意!
PXF 特性仅在企业版中支持。如有需要请联系:info@ymatrix.cn。

安装步骤如下:

1 安装

注意!
此步骤需使用 root 用户或者具有 sudo 权限的普通用户在所有节点执行。

安装 RPM 包。

$ sudo yum install pxf-matrixdb3-5.16.0-1.el7.x86_64.rpm

2 配置环境变量

注意!
此步骤需使用 root 用户或者具有 sudo 权限的普通用户在所有节点执行。

配置环境变量。

$ sudo vim /etc/profile

export PXF_HOME=/usr/local/pxf-matrixdb3
export PXF_CONF=/usr/local/pxfconf
export PATH=$PXF_HOME/bin:$PATH

注意!
从 PXF 6.0 开始,环境变量 PXF_CONF 改名为 PXF_BASE,如果不指定这个变量,则使用 PXF_HOME 中的配置文件。

刷新环境变量。

$ source /etc/profile

3 更改 $PXF_HOME 文件权限

注意!
此步骤需使用 root 用户或者具有 sudo 权限的普通用户在所有节点执行。

更改 $PXF_HOME 文件的属主和属组权限为 mxadmin

$ sudo chown -R mxadmin:mxadmin $PXF_HOME

4 初始化 PXF

确保集群已启动后,在 Master 的 mxadmin 用户下执行:

$ pxf cluster init

如下,说明 PXF 配置文件已经初始化成功。

Initializing PXF on master host and 2 segment hosts...
PXF initialized successfully on 3 out of 3 hosts

注意!
从 PXF 6.0 开始,init 选项被弃用,替换为 prepare 选项。

5 从 Master 同步 PXF 配置文件到所有 Segment

首先,在所有节点使用 root 用户或者具有 sudo 权限的普通用户下安装 rsync

$ sudo yum install -y rsync

在 Master 使用 mxadmin 用户执行以下命令,同步 PXF 配置文件到集群所有节点上。

$ pxf cluster sync

如下,说明 PXF 配置文件已经同步成功。

Syncing PXF configuration files from master host to 2 segment hosts...
PXF configs synced successfully on 2 out of 2 hosts

注意!
需要查看其它节点对应目录,检查其配置文件是否同步成功。

6 启动 PXF

在 Master 使用 mxadmin 用户执行以下命令,启动 PXF 服务。

$ pxf cluster start

如下,说明 PXF 启动成功。

Starting PXF on 2 segment hosts...
PXF started successfully on 2 out of 2 hosts

7 检测 PXF 状态

在 Master 使用 mxadmin 用户执行以下命令检测 PXF 状态。

$ pxf cluster status

确认 PXF 集群启动成功。

Checking status of PXF servers on 2 segment hosts...
PXF is running on 2 out of 2 hosts

8 Master 上单独启动

PXF 实例需要在 YMatrix 集群的 Master 上使用 mxadmin 用户单独启动。

$ pxf start

如下,表示 PXF 已经启动成功。PXF 相关的日志文件路径为 /usr/local/pxfconf/logs,如在使用过程中报错,可以到相应目录下查看日志。

Using CATALINA_BASE:   /usr/local/pxf-matrixdb3/pxf-service
Using CATALINA_HOME:   /usr/local/pxf-matrixdb3/pxf-service
Using CATALINA_TMPDIR: /usr/local/pxf-matrixdb3/pxf-service/temp
Using JRE_HOME:        /data/jdk1.8.0_151/jre
Using CLASSPATH:       /usr/local/pxf-matrixdb3/pxf-service/bin/bootstrap.jar:/usr/local/pxf-matrixdb3/pxf-service/bin/tomcat-juli.jar
Using CATALINA_PID:    /usr/local/pxf-matrixdb3/run/catalina.pid
Existing PID file found during start.
Removing/clearing stale PID file.
Tomcat started.
Checking if tomcat is up and running...
Server: PXF Server
Checking if PXF webapp is up and running...
PXF webapp is listening on port 5888