【From】https://www.itcodemonkey.com/article/9426.html

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-日志分析

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

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

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

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

最新文章

  1. asp.net MVC4 表单 - CheckBox兴趣爱好
  2. Unity Cookie
  3. java中使用sql的like关键字
  4. XAF学习笔记之 Upcasting
  5. 底部菜单栏(二) TabHost & RadioGroup 实现
  6. 关于C#控制台传递参数和接收参数
  7. 修改整个app的字体
  8. C++中的对象指针
  9. cocos2D(五岁以下儿童)---- CCNode
  10. Symbolic link and hard link的区别(linux)
  11. 快速部署MongoDB
  12. MFC如何添加bmp文件和ICO文件
  13. linux光标操作
  14. 23. Spring Boot JPA BaseDao 配置 文章
  15. 基于汇编的 C/C++ 协程 - 背景知识
  16. python学习大全:python基础进阶+人工智能+机器学习+神经网络
  17. 关于Spring的一点东西
  18. MongoDB学习笔记(一)——Windows 下安装MongoDB
  19. ord 字符转code chr : code转字符
  20. MySQL学习笔记:循环生成5万行id连续的数据

热门文章

  1. pgsql 相关函数
  2. 同一电脑如何安装多个jdk
  3. java虚拟机的基本结构如图
  4. pip install --upgrade pip
  5. linux中强大的编辑工具vim
  6. prop(name|properties|key,value|fn)
  7. javascript类型判断最佳实践
  8. 51 Nod 1163 最高的奖励
  9. 【一起学源码-微服务】Nexflix Eureka 源码二:EurekaServer启动之配置文件加载以及面向接口的配置项读取
  10. Git命令的简单整理大全