zoukankan      html  css  js  c++  java
  • hbase hbck及region RIT处理

    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常见问题
     
     
  • 相关阅读:
    html之marquee详解
    CSS盒模型
    基于windows API的手柄/键盘映射编程(一)
    阿超的烦恼来临的始端
    阿超的小目标
    程序员的800字作文
    Link to Coding
    项目经理都干些什么啊
    停不下来的英语课联想
    Markdown
  • 原文地址:https://www.cnblogs.com/zz-ksw/p/12171363.html
Copyright © 2011-2022 走看看