阅读 170

HBase应用实践专场-HBase问题排查思路

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的原创作品,如需转载,请注明出处,否则将追究法律责任


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐