我正在尝试为每个表使用hbase(1.2.0-cdh5.8.0)java api来获取以下信息:在线区域脱机区域失败的区域分割区域其他地区因此基本上是一组从hbase ui可见的信息。有什么建议吗?
hec6srdp1#
有几种方法可以做到这一点。最简单和最标准的两种方法是:hbase admin api:您可以提取有关hbase集群中不同组件的大量信息,并使用hbase admin api执行几乎所有集群管理任务。如果您是用java编写代码,则需要在类路径中包含hbase客户机jar。看看这里的管理api javadoc。为了你在这个问题上的特殊目的;您感兴趣的部分是可以使用AdminAPI检索的clusterstatus。通过hbase master的jmx端口收集度量:这对任何hbase库都没有依赖关系。您只需要在hbase中启用jmx支持(请参阅hbase指标)。然后,您可以在任何hbase主机的jmx端口上 curl 并提取所需的度量(以及更多)。
1条答案
按热度按时间hec6srdp1#
有几种方法可以做到这一点。最简单和最标准的两种方法是:
hbase admin api:您可以提取有关hbase集群中不同组件的大量信息,并使用hbase admin api执行几乎所有集群管理任务。如果您是用java编写代码,则需要在类路径中包含hbase客户机jar。看看这里的管理api javadoc。为了你在这个问题上的特殊目的;您感兴趣的部分是可以使用AdminAPI检索的clusterstatus。
通过hbase master的jmx端口收集度量:这对任何hbase库都没有依赖关系。您只需要在hbase中启用jmx支持(请参阅hbase指标)。然后,您可以在任何hbase主机的jmx端口上 curl 并提取所需的度量(以及更多)。