在重啟HBase Region Server后經常會使用hbase hbck 命令進行檢測,有時會檢測出一些錯誤携狭,以下是對于一些常見的錯誤的處理方法坏为。
1. Found lingering reference file hdfs:...
hadoop dfs -rm hdfs://... (這步可能可以忽略)
hbase hbck -fixReferenceFiles
2. empty REGIONINFO_QUALIFIER rows
hbase hbck -fixEmptyMetaCells
3. ERROR: There is a hole in the region chain between 28492e79:\x00\x04X\xDE\xEEg and 28f5c280. You need to create a new .regioninfo and region dir in hdfs to plug the hole.
hbase hbck -fixHdfsHole
hbase hbck -fixMeta
hbase hbck -fixAssignments
4. region in transition
只有ERROR 時陨囊,才需要執(zhí)行下面操作
stop hbase cluster (關閉hbase 集群)
hbase zkcli (或者 zookeeper-client -server 10.1.1.10:2181)
rmr /hbase
start hbase cluster (啟動hbase 集群逗抑,會重新生成/hbase 數(shù)據(jù))
總結
hbase hbck -help 能看到所有的幫助命令剧辐,根據(jù)ERROR 信息基本能搜到對應的關鍵字,再執(zhí)行對應的命令即可邮府。
修復完后部分命令需要執(zhí)行-fixMeta (重新生成hbase meta 信息)荧关,然后再執(zhí)行-fixAssignments (根據(jù)meta 表將region 分配給對應的region server) 才生效。