上一文章已經把HBCK2 怎麼在小于hbase2.0.3版本的編譯與用法介紹了,解決主要場景
檢視hbase存在的問題
一、使用hbase hbck指令
hbase hbck指令是對hbase的中繼資料進行檢查,看是否有不健康的region
問題1:Unable to read .tableinfo
使用 參數 generateMissingTableDescriptorFile
hbase org.apache.hbase.HBCK2 generateMissingTableDescriptorFile hbase:meta
問題2:region is not onlie 導緻該表無法查詢
hbase背景報錯: xxx region is not onlie
hbase hbck檢測錯誤:
ERROR: Region { meta => kylin_metadata,,1626761168323.1d8cb3ce4a074d6a706c9fee570129df., hdfs => hdfs://master:8020/apps/hbase/data/data/default/kylin_metadata/1d8cb3ce4a074d6a706c9fee570129df, deployed => , replicaId => 0 } not deployed on any region server.
解決方式:
- 看到Regionname是:1d8cb3ce4a074d6a706c9fee570129df
- 執行指令重新配置設定 Region
- hbase org.apache.hbase.HBCK2 -d -s assigns 1d8cb3ce4a074d6a706c9fee570129df
-
如果有多個Region,直接寫代碼使用正規表達式[a-zA-Z0-9]{32}擷取所有錯誤資訊裡面的RegionName
hbase org.apache.hbase.HBCK2 -d -s assigns RegionName1 RegionName2 RegionName3
問題3:hbase:namespace的regionoffline 導緻master is initializing
解決方式:
- 查詢 hbase:meta表 hbase:namespace的region scan 'hbase:meta'
問題3 region is closing ,region被lock
- 先去hbase ui的