HBCK - HBCK检查什么?

(1)HBase Region一致性

  • 集群中所有region都被assign,而且deploy到唯一一台RegionServer上

  • 该region的状态在内存中、hbase:meta表中以及zookeeper这三个地方需要保持一致

(2)HBase 表完整性

  • 对于集群中任意一张表,每个rowkey都仅能存在于一个region区间


HBCK – 常用检查命令

  • ./bin/hbase hbck

  • ./bin/hbase hbck –details

  • ./bin/hbase hbck TableFoo TableBar


HBCK - 局部低危修复

  • -fixAssignments :修复没有assign、assign不正确或者同时assign到多台RegionServer的问题region。

  • -fixMeta :主要修复.regioninfo文件和hbase:meta元数据表的不一致。修复的原则是以HDFS文件为准:如果region在HDFS上存在,但在hbase.meta表中不存在,就会在hbase:meta表中添加一条记录。反之如果在HDFS上不存在,而在hbase:meta表中存在,就会将hbase:meta表中对应的记录删除。


HBCK –高危修复 

  • region区间overlap相关问题的修复属于高危修复操作,因为这类修复通常需要修改HDFS上的文件,有时甚至需要人工介入。

  • 对于这类高危修复操作,建议先执行hbck -details详细了解更多的问题细节,再执行相应的修复命令

  • -repair|-fix 命令强烈不建议生产线使用


HBCK –案例 



RIT处理套路

  • 套路一:pending_open(或pending_close)状态的region通常可以使用hbck命令修复

  • 套路二:failed_open (或failed_close)状态的region通常无法使用hbck命令修复

  • 套路三:failed_open (或failed_close)状态的region需检查日志确认region无法打开关闭的具体原因

  • 套路四:region处于RIT状态但hbck显示正常,把zk上的region-in-transaction节点相关region删除,重启master


HBase-日志分析

  • 监控分析只能告诉你可能是什么原因,间接原因

  • 日志分析才能告诉你问题的精确原因,最直接原因。

       一般的问题都能在日志中找到直接原因,再根据原因找答案。

  • 通过日志分析可以弄清楚事情的来龙去脉,监控不会告诉你那么多


HBase常见问题



如果重度依赖HBase,有必要对HBase源码进行深入理解,建议根据日志去找追踪源码!!!


附上:范欣欣的“网易HBase实践”MeetUp分享



























©著作权归作者所有:来自51CTO博客作者mb5fdb0a6739180的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. mbr修复、RAID组合方式与性能、文件系统自动挂载
  2. 深度系统更新(deepin 20 1003)
  3. deepin20.1发布—细微之处 体验不凡
  4. 深度系统更新(2020.11.13)
  5. 闪存连接时显示驱动器可能已损坏要检查并修复驱动器请问如何才能
  6. React UI 库:React Suite 4.0.2 版本更新-多项Bug修复和新手入门
  7. 位置不可用无法访问磁盘结构损坏且无法读取 chkdsk无法修复. 不
  8. 理解数据库日志进行故障修复的原理
  9. 「面试高频」秒杀架构的设计套路,你值得拥有!

随机推荐

  1. android常见错误-android:android.conten
  2. Android应用程序版本切换
  3. android 9.0 打开 MTK ENGMODE里面的 手
  4. android 设置textview 边框
  5. Unity Android(三) Android7.0文件读写以及
  6. Android基础知识大纲
  7. 2011.06.22——— android framelayout布
  8. android通用适配器
  9. 如何使用android中的搜索功能
  10. Android webview 调用android浏览器