我想监控hbase的主要压缩。 对于我想知道的每张桌子
我该如何监控?
一般情况下,我应该监控哪些附加参数来检测是否需要进行主要压缩?
答案 0 :(得分:6)
我知道答案有点晚了,但是不要手动查看日志文件,你也可以试试Hannibal。它是一个开源工具,为每个区域提供历史图表。图表显示压缩何时发生以及它们花了多长时间。
答案 1 :(得分:4)
HBase通过Apache Hadoop的指标系统导出大量指标。这些指标也通过jmx公开。因此,ganglia或jmx是开始观察HBase导出指标的简单方法。其他选项包括OpenTSDB和专有条目。
在ganglia或jmx中,您要查看的指标是hbase.regionserver.compactionQueueSize。这是已安排的压缩次数。
RegionServer UI还包含一些指标的副本,包括compactionQueueSize。 更高版本的HBase看起来会更好,但这只是一个例子。
答案 2 :(得分:4)
hbase版本为0.96和0.98
当压缩开始并且可以从以下位置收集HBase Compactions的状态时:
<hbase.master.ip>:<hbase.master.info.port>/dump
即10.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
它会为您提供如下所示的统计信息:
答案 3 :(得分:2)
可以从Hbase日志或Regionservers GUI查看压缩状态但是如果我们进行了大量的事务处理,则很难从日志中跟踪压缩区域状态。 GUI仅显示同一节点上的压缩状态,并且在GUI中查看是乏味的。如果我们已经&#39; n&#39; regionservers
将跨Regionservers收集在线压缩区域状态的实用程序下载到给定表。 Github link到
StatusUtil.java
答案 4 :(得分:0)
我们可以通过JMX获得压缩状态。
compactionQueueSize, compactionSizeNumOps, compactionSizeAvgTime, compactionSizeMinTime, compactionSizeMaxTime, compactionTimeNumOps, compactionTimeAvgTime, compactionTimeMinTime, compactionTimeMaxTime
启用JMX指标,如http://hbase.apache.org/metrics.html
所示您可以下载JMX示例here