天天看點

HBCK2修複hbase2的常見場景

上一文章已經把HBCK2 怎麼在小于hbase2.0.3版本的編譯與用法介紹了,解決主要場景

檢視hbase存在的問題

一、使用hbase hbck指令

hbase hbck指令是對hbase的中繼資料進行檢查,看是否有不健康的region

HBCK2修複hbase2的常見場景

問題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.

解決方式:

  1. 看到Regionname是:1d8cb3ce4a074d6a706c9fee570129df
  2. 執行指令重新配置設定 Region
  3. hbase org.apache.hbase.HBCK2 -d -s assigns 1d8cb3ce4a074d6a706c9fee570129df
  4. 如果有多個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

解決方式:

  1. 查詢 hbase:meta表 hbase:namespace的region scan 'hbase:meta'
HBCK2修複hbase2的常見場景

問題3 region is closing ,region被lock

  1. 先去hbase ui的