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 ответ
Мне удалось активировать пользовательский приемник уведомлений, выполнив следующие действия:
- Упакуйте класс, который реализует интерфейс MetaStoreEventListener в jar
- Поместите банку в папку lib hive-server на каждом головном узле
В пользовательском интерфейсе Ambari перейдите к
Hive => Configs => Advanced => Custom hive-site
и добавьте свойство:hive.metastore.event.listeners=[full_class_name_including_package]
Сохраните конфигурацию (при появлении предупреждений нажмите "Все равно продолжить")
- Перезапустите все затронутые службы при появлении соответствующего запроса.
Пройдя через эти шаги, metastore вызывал мой слушатель уведомлений после каждого DDL
операция, и я смог отслеживать все изменения метаданных.