Updated on 2024-10-08 GMT+08:00

How Do I Restore an HBase Region in Overlap State?

Question

When the hbck tool is used to check the region status in MRS 3.x and later versions, if the log contains ERROR: (regions region1 and region2) There is an overlap in the region chain or ERROR: (region region1) Multiple regions have the same startkey: xxx, overlapping exists in some regions. How do I solve this problem?

Answer

To rectify the fault, perform the following steps:

  1. Run the hbase hbck -j ${CLIENT_HOME}/HBase/hbase/tools/hbase-hbck2-1.1.0-h0.cbu.mrs.*.jar fixInconsistencies tableName command to restore the overlapped table.
  2. Run the hbase hbck -j ${CLIENT_HOME}/HBase/hbase/tools/hbase-hbck2-1.1.0-h0.cbu.mrs.*.jar listInconsistencies -run tableName command to check whether the restored table overlaps.

    • If overlapping does not exist, go to 3.
    • If overlapping exists, go to 1.

  3. Log in to FusionInsight Manager and choose Cluster > Name of the desired cluster > Services > HBase > More > Perform HMaster Switchover to complete the HMaster active/standby switchover.
  4. Run the hbase hbck -j ${CLIENT_HOME}/HBase/hbase/tools/hbase-hbck2-1.1.0-h0.cbu.mrs.*.jar listInconsistencies -run tableName command to check whether the restored table overlaps.

    • If overlapping does not exist, no further action is required.
    • If overlapping still exists, start from 1 to perform the recovery again.