$ ./bin/hbase hbckhtml
該命令可完整修復 HBase 元數據信息;存在有錯誤信息會進行輸出;apache
也能夠經過以下命令查看詳細信息:oop
$ ./bin/hbase hbck -detailsspa
使用以下命令:server
$ ./bin/hbase hbck -fixTableOrphoneshtm
根據內存cache或者hdfs table 目錄結構,從新生成tableinfo文件!內存
根據region目錄下的hfile從新生成regioninfo文件hadoop
$ ./bin/hbase hbck -fixHdfsOrphones文檔
merge重疊的region爲一個region目錄,並重新生成一個regioninfo。io
$ ./bin/hbase hbck -fixHdfsOverlaps
利用缺失的rowkey範圍邊界,生成新的region目錄以及regioninfo填補這個空洞!
$ ./bin/hbase hbck -fixHdfsHoles ,
利用regioninfo信息,從新生成對應meta row填寫到meta表中,併爲其填寫默認的分配regionserver
$ ./bin/hbase hbck -fixMeta
把這些offline的region觸發上線,當region開始從新open上線的時候,會被從新分配到真實的RegionServer上 , 並更新meta表上對應的行信息。
hbase hbck -fixAssignment
離線修復的前提條件:HDFS fsck確保hbase根目錄下沒有文件損壞和丟失。若是有,應該先考慮修復/處理 corrupt 的 block 塊。
使用以下命令:
$ ./bin/hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair
參考資料:
【1】HBase 官方文檔 . http://hbase.apache.org/book.html#hbck.in.depth