hbase hbck主要用来检查hbase集群region的状态以及对有问题的region进行修复。

hbase hbck :检查hbase所有表的一致性,如果正常,就会Print OK

hbase hbck -details:检查hbase所有表的一致性,并且输出详细报告。
hbase hbck table1 table2:指定检查某些表,可以输入多个表,用空格隔开。
 
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 命令强烈不建议生产线使用

案例1:

案例2:

RIT处理套路
  • 套路一:pending_open(或pending_close)状态的region通常可以使用hbck命令修复
  • 套路二:failed_open (或failed_close)状态的region通常无法使用hbck命令修复,需检查日志确认region无法打开(关闭)的具体原因
  • 套路三:region处于RIT状态但hbck显示正常,把zk上的region-in-transaction节点相关region删除,重启master
 
HBase-日志分析
  • 监控分析只能告诉你可能是什么原因,间接原因
  • 日志分析才能告诉你问题的精确原因,最直接原因。
       一般的问题都能在日志中找到直接原因,再根据原因找答案。
  • 通过日志分析可以弄清楚事情的来龙去脉,监控不会告诉你那么多

HBase常见问题
 
 

hbase hbck及region RIT处理的更多相关文章

  1. HBase原理–所有Region切分的细节都在这里了

    本文由  网易云发布.   作者:范欣欣(本篇文章仅限内部分享,如需转载,请联系网易获取授权.)   Region自动切分是HBase能够拥有良好扩张性的最重要因素之一,也必然是所有分布式系统追求无限 ...

  2. hbase hbck命令

    hbase hbck 只做检查 hbase hbck -fixMeta 根据region目录中的.regioninfo,生成meta表` hbase hbck -fixAssignments 把met ...

  3. [转]HBase hbck——检察HBase集群的一致性

    Hbase提供了hbck命令来检查各种不一致问题.hbck的名字仿效了HDFS的fsck命令,后者是一个用于检查HDFS中不一致问题的工具.下面这段非常易懂的介绍出自于hbck的源程序. 检查数据在M ...

  4. hbase 修复 hbase hbck

    hbase hbck 新版本的 hbck 可以修复各种错误,修复选项是: (1)-fix,向下兼容用,被-fixAssignments替代 (2)-fixAssignments,用于修复region ...

  5. hbase报Dead Region Servers

    问题描述: 16010端口启动成功,16020未启动. hbase-root-regionserver-hbase2.log日志: 2019-08-14 16:45:10,552 WARN [Thre ...

  6. hbase优化之region合并和压缩

    HBASE操作:(一般先合并region然后再压缩) 一 .Region合并: merge_region   'regionname1','regionname2' ,'true'  --true代表 ...

  7. hbase集群region数量和大小的影响

    1.Region数量的影响 通常较少的region数量可使群集运行的更加平稳,官方指出每个RegionServer大约100个regions的时候效果最好,理由如下: 1)Hbase的一个特性MSLA ...

  8. 读者来信-5 | 如果你家HBase集群Region太多请点进来看看,这个问题你可能会遇到

    前言:<读者来信>是HBase老店开设的一个问答专栏,旨在能为更多的小伙伴解决工作中常遇到的HBase相关的问题.老店会尽力帮大家解决这些问题或帮你发出求救贴,老店希望这会是一个互帮互助的 ...

  9. 读者来信 | 如果你家HBase集群Region太多请点进来看看,这个问题你可能会遇到

    前言:<读者来信>是HBase老店开设的一个问答专栏,旨在能为更多的小伙伴解决工作中常遇到的HBase相关的问题.老店会尽力帮大家解决这些问题或帮你发出求救贴,老店希望这会是一个互帮互助的 ...

随机推荐

  1. MySQL(window10)加载配置文件的顺序

    mysql加载配置的顺序为:(mysql --help中有详细的说明) C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf D:***\my ...

  2. Netsparker介绍

    Netsparker是一款综合型的web应用安全漏洞扫描工具,它分为专业版和免费版,免费版的功能也比较强大.Netsparker与其他综合性的web应用安全扫描工具相比的一个特点是它能够更好的检测SQ ...

  3. Thymeleaf的内置属性(转)

    原文链接: http://somefuture.iteye.com/blog/2253761 Thymeleaf是另一个Java视图模板引擎,使用上和FreeMarker各有千秋,不了解的可以从其他博 ...

  4. 498. (leetcode)对角线遍历

    498. 对角线遍历 根据题目的图像看,主要有两种走法,第一种是向右上(顺时针方向),第二种是向左下(逆时针)走 我们设 x ,y初始为0,分别对应横纵坐标 现在分析右上(0,2) 为例:(注意右上的 ...

  5. 工具 - brackets

    常用插件 blueprint beta file tree view indent guidelines

  6. Flask - 总结

    1. Flask.Django.Tornado框架区别 2. Flask快速入门 3. 配置文件 4. 路由系统 5. 模板 6. 请求&响应相关 7. session & cooki ...

  7. 测试人员如何使用Git

    测试人员如何使用Git? 首先Git的安装,这里不多做阐述,直接去Git官方网站下载后并傻瓜式安装即可. 如何判定已安装好Git呢?  ------------- 随便打开一个目录,鼠标右键点击可看到 ...

  8. python第三方库介绍

  9. Leet Code 8.字符串转换整数

    实现一个atoi函数,使其能将字符串转成整数,根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止.当我们寻找到的第一个非空字符为正或负号时,则将该符号与后面尽可能多的连续数字组合起来,作 ...

  10. 【剑指Offer面试编程题】题目1519:合并两个排序的链表--九度OJ

    题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. (hint: 请务必使用链表.) 输入: 输入可能包含多个测试样例,输入以EOF结束. 对于每 ...