Установка PXF

Данное руководство описывает процесс установки и настройки PXF в кластере YMatrix для доступа к внешним источникам данных с использованием механизма Platform Extension Framework (PXF) и обёрток внешних данных (Foreign Data Wrapper, FDW).

Примечание!
Все приведённые ниже шаги установки и настройки должны быть выполнены на всех машинах кластера.

Примечание!
Функция PXF поддерживается только в версии Enterprise Edition. За дополнительной информацией обращайтесь: [email protected].

Системные требования

  • Для PXF требуется среда выполнения Java 8 или Java 11 с корректно установленной переменной окружения $JAVA_HOME.
  • Путь установки по умолчанию для RPM-пакета PXF — /usr/local/pxf-matrixdb4.

Выполните следующие шаги установки:

1. Установка PXF

Примечание!
Этот шаг необходимо выполнять от имени пользователя root или обычного пользователя с правами sudo на всех узлах.

Выполните следующую команду для установки RPM-пакета:

$ sudo yum install -y pxf-matrixdb4-6.3.0-1.el7.x86_64.rpm

2. Настройка переменных окружения

На всех узлах отредактируйте файл /etc/profile от имени пользователя root или пользователя с правами sudo и добавьте следующее содержимое.

Примечание!
Замените JAVA_HOME на фактический путь на текущей машине.

$ vim /etc/profile
export PXF_HOME=/usr/local/pxf-matrixdb4
export PATH=$PXF_HOME/bin:$PATH
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

После сохранения файла перезагрузите переменные окружения:

$ source /etc/profile

Отредактируйте файл конфигурации окружения PXF:

$ vi /usr/local/pxf-matrixdb4/conf/pxf-env.sh

Убедитесь, что следующая строка присутствует, или добавьте её:

export JAVA_HOME=/usr/local/java/jdk1.8.0_181

3. Изменение прав доступа к файлам и копирование файлов

Примечание!
Этот шаг необходимо выполнять от имени пользователя root или обычного пользователя с правами sudo на всех узлах.

Измените владельца директории установки PXF на mxadmin:

$ sudo chown -R mxadmin:mxadmin /usr/local/pxf-matrixdb4

Измените владельца файла управления FDW:

$ sudo chown mxadmin:mxadmin /opt/ymatrix/matrixdb6/share/postgresql/extension/pxf_fdw.control

Скопируйте разделяемый библиотечный файл в целевую директорию:

$ cp /usr/local/pxf-matrixdb4/fdw/pxf_fdw.so  /opt/ymatrix/matrixdb6/lib/postgresql/

4. Инициализация PXF

После запуска кластера войдите на мастер-узел под пользователем mxadmin и выполните следующую команду:

$ pxf cluster register

При успешной инициализации вывод будет примерно следующим (пример: Master и два Segment-узла успешно инициализированы):

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

5. Синхронизация конфигурации PXF с Master на все Segment-узлы

Сначала установите rsync на всех узлах от имени пользователя root или пользователя с правами sudo:

$ sudo yum install -y rsync

На мастер-узле выполните следующую команду от имени пользователя 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

На мастер-узле выполните следующую команду от имени пользователя mxadmin, чтобы запустить службу PXF:

$ pxf cluster start

Следующий вывод указывает на успешный запуск PXF:

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

7. Проверка состояния PXF

На мастер-узле выполните следующую команду от имени пользователя mxadmin, чтобы проверить состояние PXF и убедиться, что все узлы работают корректно:

$ pxf cluster status

Подтвердите успешный запуск кластера PXF:

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