在线修复
1. 检查输出所以ERROR信息,每个ERROR都会说明错误信息。
hbase hbck
2. 先修复tableinfo缺失问题,根据内存cache或者hdfs table 目录结构,重新生成tableinfo文件。
hbase hbck -fixTableOrphones
3. 修复regioninfo缺失问题,根据region目录下的hfile重新生成regioninfo文件
hbase hbck -fixHdfsOrphones
4. 修复region重叠问题,merge重叠的region为一个region目录,并从新生成一个regioninfo
hbase hbck -fixHdfsOverlaps
5. 修复region缺失,利用缺失的rowkey范围边界,生成新的region目录以及regioninfo填补这个空洞。
hbase hbck -fixHdfsHoles
6.修复meta表信息,利用regioninfo信息,重新生成对应meta row填写到meta表中,并为其填写默认的分配regionserver
hbase hbck -fixMeta
7. 把这些offline的region触发上线,当region开始重新open 上线的时候,会被重新分配到真实的RegionServer上 , 并更新meta表上对应的行信息。
hbase hbck -fixAssignment
离线OfflineMetaRepair重建
> hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair -fix