天天看點

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等

繼續閱讀