如何修复Overlap状态的HBase Region
问题
使用hbck工具检查Region状态,如果日志中存在“ERROR: (regions region1 and region2) There is an overlap in the region chain.”或者“ERROR: (region region1) Multiple regions have the same startkey: xxx”信息,表示某些region存在overlap的问题,需要如何解决?
回答
修复步骤如下:
- 执行以下命令修复存在overlap的表:
hbase hbck -j ${CLIENT_HOME}/HBase/hbase/tools/hbase-hbck2-1.1.0-h0.cbu.mrs.*.jar fixInconsistencies tableName - 执行以下命令检查修复的表是否还存在overlap:
hbase hbck -j ${CLIENT_HOME}/HBase/hbase/tools/hbase-hbck2-1.1.0-h0.cbu.mrs.*.jar listInconsistencies -run tableName - 登录FusionInsight Manager,选择“集群 > 服务 > HBase > 更多 > 执行HMaster倒换”,完成HMaster主备倒换。
- 执行以下命令检查修复的表是否还存在overlap:
hbase hbck -j ${CLIENT_HOME}/HBase/hbase/tools/hbase-hbck2-1.1.0-h0.cbu.mrs.*.jar listInconsistencies -run tableName- 如果不存在overlap,修复完成。
- 如果存在overlap,从1开始重新执行修复步骤。