Уведомления HCatalog в HDInsight

Я пытаюсь включить уведомления HCatalog в кластере HDInsight, чтобы отслеживать изменения метаданных.

У меня есть брокер ActiveMQ, работающий на обоих моих головных узлах. Он работает, так как я могу подписаться на него и получать уведомления, которые я отправлял самому себе. Я попытался включить уведомления HCatalog, изменив конфигурацию hive-site.xml через пользовательский интерфейс Ambari (я добавил org.apache.hive.hcatalog.listener.NotificationListener в hive.metastore .event.listeners), но это не дало никаких результатов. Я также подключился к головному узлу своего кластера HDInsight через SSH и вручную изменил конфигурацию в файлах hive-site.xml (их, по-видимому, довольно много), добавив свойство, как я пробовал через Ambari, и событие, которое не сработало . После каждого изменения конфигурации я перезапускал службы куста (и даже все) через пользовательский интерфейс Ambari. Я предполагаю, что по какой-то причине внесенные мной изменения не применяются.

Есть опыт или советы по этому поводу?


person np_6    schedule 19.04.2018    source источник


Ответы (1)


Мне удалось активировать настраиваемый прослушиватель уведомлений, выполнив следующие действия:

  1. Упакуйте класс, реализующий интерфейс MetaStoreEventListener, в банку.
  2. Поместите банку в папку lib сервера-улья на каждом головном узле.
  3. В пользовательском интерфейсе Ambari перейдите к Hive => Configs => Advanced => Custom hive-site и добавьте свойство:

    hive.metastore.event.listeners=[full_class_name_including_package]

  4. Сохраните конфигурацию (при появлении предупреждений нажмите Все равно продолжить)

  5. При появлении запроса перезапустите все затронутые службы.

После выполнения этих шагов хранилище метаданных вызывало мой слушатель уведомлений после каждой DDL операции, и я мог отслеживать все изменения метаданных.

person np_6    schedule 24.05.2018