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. Я предполагаю, что по какой-то причине сделанные мной изменения не применяются.

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

1 ответ

Решение

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

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

    hive.metastore.event.listeners=[full_class_name_including_package]

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

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

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

Другие вопросы по тегам