我正在尝试在hdinsight集群上启用hcatalog通知,以便跟踪元数据更改。
我有一个activemq代理在我的两个头节点上运行。它正在工作,因为我已经能够订阅它,并收到通知,我是发送给自己。我尝试通过ambari ui更改hive-site.xml的配置来启用hcatalog通知(我在hive.metastore.event.listeners字段中添加了org.apache.hive.hcatalog.listener.notificationlistener),但没有给出任何结果。我还通过ssh连接到hdinsight集群的headnode,并手动更改hive-site.xml文件中的配置(显然有很多这样的文件),方法是添加一个属性,就像我在ambari和event中尝试的那样,但没有成功。每次配置更改之后,我都会通过ambari ui重新启动hive(甚至所有)服务。我的猜测是,出于某种原因,我所做的更改没有被应用。
对此有什么经验或建议吗?
1条答案
按热度按时间eulz3vhy1#
我通过执行以下操作成功激活了自定义通知侦听器:
将实现metastoreeventlistener接口的类打包到jar中
将jar放在每个headnode上的hive服务器的lib文件夹中
在ambari ui中,转到
Hive => Configs => Advanced => Custom hive-site
并添加属性:hive.metastore.event.listeners=[full_class_name_including_package]
保存配置(如果出现警告,请单击继续)出现提示时重新启动所有受影响的服务。
完成这些步骤后,metastore在每次
DDL
操作,我可以跟踪所有的元数据更改。