更新时间:2024-07-02 GMT+08:00
分享

如何修复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的问题,需要如何解决?

回答

修复步骤如下:

  1. 执行hbase hbck -j ${CLIENT_HOME}/HBase/hbase/tools/hbase-hbck2-1.1.0-h0.cbu.mrs.*.jar fixInconsistencies tableName命令修复存在overlap的表。
  2. 执行hbase hbck -j ${CLIENT_HOME}/HBase/hbase/tools/hbase-hbck2-1.1.0-h0.cbu.mrs.*.jar listInconsistencies -run tableName命令检查修复的表是否还存在overlap。

    • 如果不存在overlap,执行3
    • 如果存在overlap,执行1

  3. 登录FusionInsight Manager,选择“集群 > 待操作集群的名称 > 服务 > HBase > 更多 > 执行HMaster倒换”,完成HMaster主备倒换。
  4. 执行hbase hbck -j ${CLIENT_HOME}/HBase/hbase/tools/hbase-hbck2-1.1.0-h0.cbu.mrs.*.jar listInconsistencies -run tableName命令检查修复的表是否还存在overlap。

    • 如果不存在overlap,修复完成。
    • 如果存在overlap,从1开始重新执行修复步骤。

相关文档