HBase 一致性检查与修复

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. HBase介绍,Hbase是什么? HBase -- Hadoop Database ,是一个高可靠、高性能...
    奉先阅读 3,785评论 1 36
  • Hbase架构与原理 HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang所撰写的Goo...
    全能程序猿阅读 86,330评论 2 37
  • HBase存储架构图 HBase Master 为Region server分配region 负责Region s...
    kimibob阅读 5,634评论 0 52
  • 该文档是用Hbase默认配置文件生成的,文件源是Hbase-default.xml hbase.rootdir 这...
    我是嘻哈大哥阅读 4,813评论 0 7
  • 最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hb...
    飞鸿无痕阅读 50,351评论 19 272