7

我想监控 hbase 的主要压缩。对于我想知道的每张桌子

  • 何时启动(由 hbase 或用户)
  • 当它完成时

我怎样才能监控这个?

  • 通过 JMX?
  • 通过用户界面?

一般来说,我应该监控哪些附加参数来检测是否需要进行主要压实?

4

5 回答 5

6

我知道答案有点晚了,但你也可以试试 Hannibal,而不是手动查看日志文件。它是一个开源工具,可为每个区域提供历史图表。这些图表显示了压缩发生的时间以及它们花费了多长时间。

https://github.com/sentric/hannibal/

于 2013-04-03T09:37:25.017 回答
5

HBase 通过 Apache Hadoop 的指标系统导出大量指标。这些指标也通过 jmx 公开。所以gangliajmx是开始观察 HBase 导出的指标的非常简单的方法。其他选项包括 OpenTSDB 和专有条目。

在 ganglia 或 jmx 内部,您要查看的指标是 hbase.regionserver.compactionQueueSize。这是已安排的压缩次数。

RegionServer UI 还包括一些指标的副本,包括 compactionQueueSize。这是 0.94 版本的屏幕截图。更高版本的 HBase 看起来会更好,但这给出了一个示例。

于 2012-11-15T00:29:44.250 回答
4

这是 hbase 版本 0.96 和 0.98 的情况

当压缩开始时,可​​以从以下位置收集 HBase 压缩的状态: <hbase.master.ip>:<hbase.master.info.port>/dump10.4.4.40:60010/dump

在标题为

服务器:

    <hostname>,60020,1406845954503: ...<other stuff here>...
    totalCompactingKVs=9121040186, currentCompactedKVs=14351361679,
    compactionProgressPct=1.5734347,...

compactionProgressPct给出您当前正在处理的已完成压实的百分比。

一个更友好的查看压缩的方法在这里:

http://<hbase.regionserver.ip>:<hbase.regionserver.info.port>/rs-status#queueStats

它将为您提供如下所示的统计信息: 在此处输入图像描述

于 2014-08-06T19:59:13.037 回答
3

可以从 Hbase 日志或 Regionservers GUI 中查看压缩状态,但是如果我们有大量事务,则很难从日志中跟踪压缩区域状态。GUI 仅显示同一节点上的压缩状态,并且在 GUI 中查看很繁琐如果我们有“n”个区域服务器

将收集跨区域服务器的在线压缩区域状态的实用程序下载到给定表。Github链接StatusUtil.java

于 2016-01-23T18:02:43.810 回答
0

我们可以通过 JMX 获取压缩状态。

compactionQueueSize, compactionSizeNumOps, compactionSizeAvgTime, compactionSizeMinTime, compactionSizeMaxTime, compactionTimeNumOps, compactionTimeAvgTime, compactionTimeMinTime, compactionTimeMaxTime

启用 JMX 指标,如http://hbase.apache.org/metrics.html所示

您可以在此处下载 JMX 示例

于 2016-01-27T19:28:21.397 回答