转载:http://ju.outofmemory.cn/entry/50064
随着大数据表格应用的驱动,我们的HBase集群越来越大,然而由于机器、网络以及HBase内部的一些不确定性的bug,使得系统面临着一些不确定性的故障。
因此,HBase上有很多的Region组成,需要控制每个表格的Region的状态。
分析:
1)实时掌控Region的状态。应用的每次访问要直接与HBase某个Region关联,需要探测Table上Region是否处于可用状态。
2)Region的读写与底层的HDFS的状态相互关联。这种关联决定了通过Region的读写状况的监控,也可以反映HDFS的状况。
2、实战工具
org.apache.hadoop.hbase.tool.Canary 监控Region的可用和读写状况。==>对应分析中前两个问题。
使用方法:
Usage: bin/hbase org.apache.hadoop.hbase.tool.Canary [opts] ]
where [opts] are:
-help Show this help and exit.
-daemon Continuous check at defined intervals.
-interval <N> Interval between checks (sec)
where [opts] are:
-help Show this help and exit.
-daemon Continuous check at defined intervals.
-interval <N> Interval between checks (sec)
执行${HBASE_HOME}/bin/hbase org.apache.hadoop.hbase.tool.Canary
在不同配置情况下对集群内所有的Table进行探测,探测的结果如下:
它默认会取出Region的startKey,按照ColumnFamily分别执行一次Get操作,并打印出系统的延迟。对于Region出问题的情况下,会打印出failed的状态。