Обновление бандла ADB

ADCM предоставляет возможность обновления бандла существующего кластера ADB.

Обновление с изменением версии ADB

Important

При использовании двух IP-адресов, необходимо указать сеть для интерконнекта, при помощи настройки ADCM – Default network interface.

Для обновления необходимо:

  1. Загрузить бандл ADB новой версии. После загрузки на вкладке “Clusters” в строке кластера с более старой версией бандла появится пиктограмма, указывающая на возможность обновления (Рис.58).
../../../../_images/img_581.png

Рис. 58. Доступно обновление бандла

  1. Нажать на появившуюся пиктограмму и выбрать действие Upgrade to <версия бандла> (Рис.59).
../../../../_images/img_591.png

Рис. 59. Upgrade to

  1. Подтвердить действие в открывшемся диалоговом окне (Рис.60). После подтверждения кластер ADB меняет состояние с running на ready to upgrade.
../../../../_images/img_601.png

Рис. 60. Запрос на подтверждение действия

  1. В поле “Actions” для обновляемого кластера нажать на пиктограмму и выбрать действие Upgrade (Рис.61).
../../../../_images/img_611.png

Рис. 61. Upgrade

  1. Подтвердить действие в открывшемся диалоговом окне (Рис.62).
../../../../_images/img_621.png

Рис. 62. Запрос на подтверждение действия

Обновление PXF 3.x на 5.x

В состав бандла ADB, начиная с версии 5.17 до 6.19.3_arenadata32, входит сервис, позволяющий установить PXF версии 5x через ADCM.

Если в работающем кластере ADB ранее уже был установлен PXF версии 3x в сборке Arenadata, существует возможность его обновления до версии 5x через ADCM. Для этого необходимо:

  1. Добавить сервис PXF в кластер.
  2. Разместить компоненты сервиса PXF на хостах.
  3. В поле “Actions” в строке сервиса PXF нажать на пиктограмму и выбрать действие Remove HAWQ PXF (legacy). В результате этого действия в кластере удаляется PXF версии 3x с сохранением всех конфигурационных файлов. Это делает возможным установку PXF версии 5x из бандла ADB (Рис.63).
../../../../_images/img_631.png

Рис. 63. Remove HAWQ PXF (legacy)

Important

Корректность выполнения данного действия гарантируется только для PXF версии 3x в сборке Arenadata

  1. Подтвердить действие в открывшемся диалоговом окне (Рис.64).
../../../../_images/img_641.png

Рис. 64. Запрос на подтверждение действия

  1. Дождаться успешного завершения действия Clean (Рис.65).
../../../../_images/img_661.png

Рис. 65. Действие Clean успешно завершено

  1. Выполнить установку сервиса PXF

В случае если PXF в кластере отсутствует, установка производится без дополнительного действия Remove HAWQ PXF (legacy), описанного в пунктах 3-5.

Обновление PXF 5.x на 6.x

Начиная с ADB версии 6.20.1_arenadata33, PXF автоматически обновится до версии 6.x через ADCM. Тем не менее, в особых случаях и в зависимости от версии PXF потребуются ручные операции для корректной работы PXF после обновления в ADCM:

Important

Версию PXF перед обновлением можно запросить из под системного пользователя ADB через команду: $PXF_HOME/bin/pxf version

  1. Если вы обновляетесь с версии PXF 5.9.x (или ниже) с подключением к Kerberos-защищенному Hive через JDBC сервер, требуется выставить свойство hadoop.security.authentication в файле jdbc-site.xml file чтоб явно иденифицировать использование Kerberos в качестве метода аутентификации. Выполните следующее для каждого из конфигураций сервера: a. Перейдите в директорию с конфигурацией сервера b. Откройте на редактирование файл jdbc-site.xml и раскомментируйте или добавьте следующий блок в файл:
<property>
    <name>hadoop.security.authentication</name>
    <value>kerberos</value>
</property>

2. Если вы обновляетесь с версии PXF 5.11.x (или ниже): профили Hive и HiveRC (переименованы как hive и hive:rc в PXF 6.x) теперь поддерживает column projection через использование мэппинга через имена столбцов. Если у вас есть какие-либо внешние таблицы, которые используют один из этих профилей, и эта внешняя таблица использует такой мэппинг через индексированные колоники, возможно потребуется удалить и пересоздать эту таблицу: a. Определите все внешние таблицы с профилем Hive или HiveRC b. Для каждой такой внешней таблицы просмотрите ее код и и код Hive таблицы, на которую она ссылается. Если имена столбцов внешней таблицы не совпадают с именами столбцов в Hive таблице, то: Удалите существующую внешнюю таблицу. Например:

DROP EXTERNAL TABLE pxf_hive_table1;

Пересоздайте внешнюю таблицу, используя имена столбцов Hive. Например,

CREATE EXTERNAL TABLE pxf_hive_table1( hivecolname int, hivecolname2 text )
  LOCATION( 'pxf://default.hive_table_name?PROFILE=hive')
FORMAT 'custom' (FORMATTER='pxfwritable_import');

Просмотрите все SQL скрипты, которые ссылаются на внешнюю таблицу и обновите имена столбцов, если требуется.

  1. Если вы обновляетесь с версии PXF 5.15.x (или ниже):
    1. Свойство pxf.service.user.name в файле the pxf-site.xml теперь закомментировано по умолчанию. Помните об этом, когда конфигурируете новые PXF сервера.
    2. Значение по умолчанию для свойства jdbc.pool.property.maximumPoolSize теперь равно 15. Если у вас ранее были сконфигурированы JDBC сервера, и вы хотите чтоб они использовали новое значение по умолчанию, вам нужно вручную изменить это свойство в файле jdbc-site.xml.
    3. PXF 5.16 не разрешает использование относительных путей и переменных окружения в путях конструкций CREATE EXTERNAL TABLE LOCATION. Если вы ранее создавали такие внешние таблицы, вы должны удалить и пересоздать их без таких конструкций.
    4. Filter pushdown теперь активирован по умолчанию для запросов на внешних таблицах, которые используют Hive, HiveRC, или HiveORC профили (переименованы как hive, hive:rc, and hive:orc в PXF 6.x). Если вы ранее создавали такие внешние таблицы и запросы и эти запросы падают с версией PXF 5.16+, вы можете дезактивировать filter pushdown на уровне столбцов внешней таблицы или на уровне сервера:
      1. Для внешней таблицы удалите и пересоздайте ее, указав опцию &PPD=false в LOCATION.
      2. Для сервера можно не пересоздавать внешнюю таблицу, а дезактивировать filter pushdown для всех запросов, использующих сервер к Hive* профилю, указав свойство pxf.ppd.hive в файле pxf-site.xml file в false:
<property>
    <name>pxf.ppd.hive</name>
    <value>false</value>
</property>

You may need to add this property block to the pxf-site.xml file.

  1. Удостоверьтесь, что не ссылаетесь на ранее объявленные устаревшими следующие свойства (они пропадут в PXF 6.x):
Табл. 4. Deprecated функциональность
Deprecated свойство Новое свойство
Hadoop имена профилей hdfs:<profile>
jdbc.user.impersonation свойство pxf.service.user.impersonation в файле конфигурации сервера jdbc‑site.xml
PXF_KEYTAB свойство pxf.service.kerberos.keytab в файле конфигурации сервера jdbc‑site.xml
PXF_PRINCIPAL свойство pxf.service.kerberos.principal в файле конфигурации сервера jdbc‑site.xml
PXF_USER_IMPERSONATION свойство pxf.service.user.impersonation в файле конфигурации сервера jdbc‑site.xml

Также настройки Kerberos для PXF в бандле ADB больше не используются и будут удалены для версии PXF 6.x.

  1. PXF 6.x поставляет единый JAR файл со всеми зависимостями, и отдельно HBase JAR файл в директории $PXF_HOME/share. Если у вас есть настроенный PXF коннект к Hadoop серверу через HBase, вам нужно зарегистрировать новый pxf-hbase-<version>.jar с Hadoop и HBase следующим образом:
    1. Скопируйте $PXF_HOME/share/pxf-hbase-<version>.jar на каждую ноду в вашем HBase кластере.
    2. Добавьте путь к этому JAR в $HBASE_CLASSPATH на каждой HBase ноде.
    3. Рестартуйте HBase на каждой ноде.