HBase工具之监控Region的可用和读写延时状况


1、介绍HBase集群上region数目由于业务驱动而越来越多,由于服务器本身,网络以及hbase内部的一些不确定性bug等因素使得这些region可能面临着不可用或响应延时情况。通过对region的监控,也可以反映出hdfs集群的状况


2、工具
org.apache.hadoop.hbase.tool.Canary 监控Region的可用和读写状况
Usage: bin/hbase org.apache.hadoop.hbase.tool.Canary [opts] [table 1 [table 2...]]
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 day_hotstatic   结果信息如下:
read from region day_hotstatic,860010-2061300100_20131109_10_visit_00000027262,1386598604054.22af453addaff05464e585e7d148987b. column family c in 4msread from region day_hotstatic,860010-2061300100_20131201_2_exit_00000012418,1387389193938.9d19cd65ac9f9c3c2a04911cb73cfef7. column family c in 0ms


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


2、不足
1)无法提供Region服务异常的实时报警。
2)未提供对于延迟的监控与报警。

基于此,我们就可以添加相应的报警功能,找出延迟超过最高限或者Region有问题的Table,并通过邮件或者message及时告警。
在出现hfile文件无法seek或者Region offline的情况下,通过HBaseAdmin.assign(regionName)接口重新部署一次Region,这样可以避免:
①.Region上storefile不一致(与hdfs上region显示不一样),在compaction异常或者split过程中。通过重新assign下可以重新加载这部分数据
②.Region处于Offline状态,比如regionserver宕机,集群负载均衡等过程中region offline等

相关内容