随着大数据表格应用的驱动,我们的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)


执行${HBASE_HOME}/bin/hbase org.apache.hadoop.hbase.tool.Canary


在不同配置情况下对集群内所有的Table进行探测,探测的结果如下:


hbase总结:如何监控region的性能_大数据


它默认会取出Region的startKey,按照ColumnFamily分别执行一次Get操作,并打印出系统的延迟。对于Region出问题的情况下,会打印出failed的状态。


hbase总结:如何监控region的性能_hdfs_02