HBase 一致性检查与修复

作者: Caoyun | 来源:发表于2017-10-25 11:36 被阅读466次

    HBase 不一致表现为:

    region不一致:当一个region被分配到多个regionserver或者没有regionserver持有该region时,则产生region不一致;

    表不一致:当某个表的多个region行键有重叠时出现表不一致。

    一致性检查:

    hbase hbck

    # Status:OK,表示没有发现不一致问题。

    # Status:INCONSISTENT,表示有不一致问题。

    一致性修复:

    注意:region不一致可以在线修复,表不一致修复起来比较复杂,需先停止HBase的读写操作。

    不正确的分配  这是由于.META.表里保存了region的错误信息。有三种可能:region被分配给了多个regionserver,region被错误的分配给了一

    个regionserver但却由另一个regionserver提供服务,region存在于.META.中但没有被分配给任何regionserver。这种不一致通过如下命令修复

    hbase hbck -fixAssignments

    失踪或多余的region  如果HDFS保存了.META.表里没有记录的region,或者.META.里保存了HDFS中没有的region,则出现不一致,则通过如下命令修复

    hbase hbck -fixMeta

    修复region不一致的风险比较低,可以通过如下命令打包运行

    hbase hbck -repairHoles

    region 元数据丢失  每个region持有一个.regioninfo 如果该文件丢失,且.META.表里也没有保存该region的记录,则使用如下命令收集

    一个丢失的.regioninfo文件的region

    hbase hbck -fixHdfsOrphans

    修复表不一致比较复杂,需仔细阅读在线文档,根据实际情况处理,且需要现在测试环境下进行充分的实验。

    相关文章

      网友评论

        本文标题:HBase 一致性检查与修复

        本文链接:https://www.haomeiwen.com/subject/shhqpxtx.html