hbck源码系列(四)--表的完整性检查和修复

hbase快照同步到目标集群出现ERROR Multiple regions have the same startkey问题分析 源集群表split过程中创建快照,该快照同步到目标集群,目标集群恢复快照后,进行hbck检查,就会出现异常报错: ERROR Multiple regions have the same startkey;首先,出现上述问题可能有如下两种原因: 1.源集群中snapshot表本身就存在这种问题,没有修复就执行snapshot,导出快照到目标集群,然后恢复表也会存在这种问题。 2.在执行split/merge的同时执行了snapshot,若此时子region上线但父region还没下线,这样 阅读详情

一,完整性检查
  1检查表在HDFS的完整性

二.checkRegionChain方法
     完整性检查,主要检查工作在checkRegionChain方法,该方法主要两个作用:

   1.根据检查条件,检查异常

   2.根据检查条件,修复异常

    检查条件和异常都指什么?

    2.1  异常
  @Override
  public void handleRegionStartKeyNotEmpty(HbckInfo hi) throws IOException{
    errors.reportError(ERROR_CODE.FIRST_REGION_STARTKEY_NOT_EMPTY,
        "First region should start with an empty key.  You need to "
        + " create a new region and regioninfo in HDFS to plug the hole.",
        getTableInfo(), hi);
  }
 
  @Override
  public void handleRegionEndKeyNotEmpty(byte[] curEndKey) throws IOException {
    errors.reportError(ERROR_CODE.LAST_REGION_ENDKEY_NOT_EMPTY,
        "Last region should end with an empty key. You need to "
            + "create a new region and regioninfo in HDFS to plug the hole.", getTableInfo());
  }
 
  @Override
  public void handleDegenerateRegion(HbckInfo hi) throws IOException{
    errors.reportError(ERROR_CODE.DEGENERATE_REGION,
        "Region has the same start and end key.", getTableInfo(), hi);
  }
 
  @Override
  public void handleDuplicateStartKeys(HbckInfo r1, HbckInfo r2) throws IOException{
    byte[] key = r1.getStartKey();
    // dup start key
    errors.reportError(ERROR_CODE.DUPE_STARTKEYS,
        "Multiple regions have the same startkey: "
        + Bytes.toStringBinary(key), getTableInfo(), r1);
    errors.reportError(ERROR_CODE.DUPE_STARTKEYS,
        "Multiple regions have the same startkey: "
        + Bytes.toStringBinary(key), getTableInfo(), r2);
  }
 
  @Override
  public void handleSplit(HbckInfo r1, HbckInfo r2) throws IOException{
    byte[] key = r1.getStartKey();
    // dup start key
    errors.reportError(ERROR_CODE.DUPE_ENDKEYS,
      "Multiple regions have the same regionID: "
        + Bytes.toStringBinary(key), getTableInfo(), r1);
    errors.reportError(ERROR_CODE.DUPE_ENDKEYS,
      "Multiple regions have the same regionID: "
        + Bytes.toStringBinary(key), getTableInfo(), r2);
  }
 
  @Override
  public void handleOverlapInRegionChain(HbckInfo hi1, HbckInfo hi2) throws IOException{
    errors.reportError(ERROR_CODE.OVERLAP_IN_REGION_CHAIN,
        "There is an overlap in the region chain.",
        getTableInfo(), hi1, hi2);
  }
 
  @Override
  public void handleHoleInRegionChain(byte[] holeStart, byte[] holeStop) throws IOException{
    errors.reportError(
        ERROR_CODE.HOLE_IN_REGION_CHAIN,
        "There is a hole in the region chain between "
            + Bytes.toStringBinary(holeStart) + " and "
            + Bytes.toStringBinary(holeStop)
            + ".  You need to create a new .regioninfo and region "
            + "dir in hdfs to plug the hole.");
  }
};
2.2检查条件
     之前说过表的完整性检查主要是检查表的hole、overlap和orphan等情况,检查条件是判断上述异常的依据,在源码中的判断依据是什么,这里根据不同的情况,描述不同的检查条件,详见各个章节。

   hole
  orphan
  overlap
  others
————————————————
版权声明:本文为优快云博主「shfshihuafeng」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/shfshihuafeng/article/details/90704629

《探秘 BME680温度湿度气压气体传感器模块:环境感知的卓越之选》:此文为AI自动生成 BME680 是一款由博世公司推出的集成环境传感器模块,在环境监测和物联网等领域中发挥着重要作用。它能够同时测量温度、湿度、气压和气体浓度等多个环境参数,为各种应用提供准确可靠的环境数据。该模块采用小巧的封装形式,便于集成到各种设备中,无论是智能家居、可穿戴设备还是工业监测系统,都能轻松适配。例如,在智能家居系统中,BME680 模块可以监测室内环境参数,如温度、湿度、气压和空气质量等。通过与智能家居控制器或智能手机应用程序的连接,用户可以实时了解室内环境状况,并根据需要进行调整。 阅读详情

相关推荐

平均电流控制模式BUCK变换器的环路设计

引言 电压模式的BUCK变换器存在的常见缺点: 1、在没有前馈补偿的时候,对输入源的跳动响应较慢; 2、在不加入电感电流控制的时候,由于不直接对电感电流进行采样,因此不能实时的控制电感电流,有可能在某些负载极端变化时,系统直接奔溃; 3、LC组成的二阶系统存在谐振点,谐振峰随负载变化而变化,不容易做到完全消除; 峰值电流模式的BUCK变换器存在的常见缺点: 1、占空比大于50%时,存在次谐波震荡的问题,需要添加斜坡补偿已解决该问题; 2、抗干扰能力较差; 3、峰值电流和平均电流间存在误差,不适合做PFC线路

c007106333的博客 1万+

HBase:Multiple regions have the same startkey,There is an overlap in the region chain.问题详解

环境信息: Hadoop 2.7.2+HBase 1.2.2 现象: HBase重启后运行hbase hbck报错: Multiple regions have the same startkey:XXXX There is an overlap in the region chain. 问题分析: 1、HBase在重启之后由于某些原因一部分region未分配成功而上线失败,执行...

microGP的专栏 1万+

手把手教你编写I2C读写EEPROM代码(驱动层实现)

从底层寄存器配置到时序控制,详解如何编写可移植的I2C读写EEPROM代码,覆盖起始信号、地址帧、数据收发及ACK应答等关键环节,确保在STM32、ESP32等主流平台稳定运行,真正落地i2c读写eeprom代码需求。

weixin_35756130的博客 505

HBase1.x运维:Multiple regions have the same endkey报错处理

微信公众号:大数据开发运维架构 关注可了解更多大数据相关的资讯。问题或建议,请公众号留言; 如果您觉得“大数据开发运维架构”对你有帮助,欢迎转发朋友圈 从微信公众号拷贝过来,格式有些错乱,建议直接去公众号阅读 软件版本: hadoop2.7.3 hbase1.2.5 zookeeper3.4.6 1.问题描述: 生产HBase集群由于批量导入20亿数据...

陆继森的技术专栏 1681

产品经理必备知识——API接口

在古代,我们的传输信息的方式有很多,比如写信、飞鸽传书,以及在战争中使用的烽烟,才有了著名的烽火戏诸侯,但这些方式传输信息的效率终究还是无法满足高速发展的社会需要。如果你选择允许,app就会根据你的当前位置为你提供更加个性化的一些服务,当然也有一些app拿到你的位置信息做出损害用户利益的行为,所以还是需要谨慎授权。首先,看接口文档的场景一般是自身业务模块需要获取外部的数据,但又不想自己重新开发,寻找外部已经实现的有开放能力的供应商(包含企业内部的)。通过发送请求和响应消息的方式实现程序间的通信。

WBKJ_Noah_的博客 3454

TPM 2.0实例探索2 —— LUKS磁盘加密(1)

本文对LUKS行了系统介绍

phmatthaus的专栏 1698

第二次尝试修复Hbase2出现Region不一致,使用 HBCK2 - 2021.11.15

spark任务中入hbase任务全部失败了,查看日志发现hbase出现问题 报错日志: 在hbase的log中看到报错 Call queue is full on xxxx,16000,1611197476326, too many items queued 修改了配置文件,增加了队列数量 参数说明:https://hijiazz.gitee.io/hbase-callqueue-isfull/ 并且zookeeper好像挂掉了,后来重启zk。 然后重启hbase后出现了region不一致的情况。 尝试

chun的博客 4804

2026年算法工程师常见面试简答题

本文摘要:文章系统梳理了机器学习与深度学习中的30个核心概念,涵盖模型优化、评估指标、经典算法和大模型应用等关键知识点。主要内容包括:1)过拟合与欠拟合的成因及解决方法;2)偏差-方差权衡原理;3)数据划分与交叉验证策略;4)分类/回归任务评估指标选择;5)逻辑回归、决策树、SVM等传统算法解析;6)梯度下降优化与正则化技术;7)CNN、RNN、Transformer架构对比;8)Embedding表示与RAG技术。特别强调面试高频考点如XGBoost改进、注意力机制原理等,并给出实际工程中的解决方案建议,

不务正业的猿 347

使用hbase hbck修复region中数据不一致问题

[hbase版本1.1.2] [hbase@kmr-5b9c18fc-gn-7198aa8e-client-1-001 ~]$ ll -t total 788 -rw-r--r--. 1 hbase hadoop  60614 Dec 27 18:22 20171227_8th_After_fixAssgnmentOf_should_end_with_an_empty_key_FORte

宝罗Paul 的博客 1万+

OpenClaw部署太难?汉化版+中文社区+国产替代品,国内用户零门槛指南

OpenClaw作为GitHub 10万+星的开源AI助手平台,近期在国内AI圈备受关注 🌟 但部署难度和英文界面让很多用户望而却步。本文整理了针对国内用户的友好资源和简便替代方案,帮助国内用户零门槛上手AI助手工具 🚀

XiaoqiangClub的博客 5758

华为OD机试 - 取出尽量少的球 - 感谢@吴修柯反馈(Python/JS/C/C++ 双机位A卷 200分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。感谢@吴修柯反馈,2025-03-22,A卷200分考试真题。某部门开展 Family Day 开放日活动,其中有个从桶里取球的游戏。有 N 个容量一样的小桶等距排开,且每个小桶都默认装了数量不等的小球,每个小桶装的小球数量记录在数组 bucke

学Java,找哪吒 1485

hbck源码系列(四)--表的完整性检查和修复<Check>

一,完整性检查 1检查表在HDFS的完整性 二.checkRegionChain方法 完整性检查,主要检查工作在checkRegionChain方法,该方法主要两个作用: 1.根据检查条件,检查异常 2.根据检查条件,修复异常 检查条件和异常都指什么? 2.1 异常 @Override public void ha...

峰的记忆 1015

【反蒸馏实战 00】AI抢不走的工作:一份针对30个“高危”职位的“反取代”实战手册(反蒸馏计划启动)

AI时代职场生存指南:30个技术岗位的“反蒸馏”实战策略 随着AI技术快速发展,职场正面临前所未有的结构性重构。本系列专栏聚焦30个技术岗位,深入分析AI对各职位的影响路径,并提供系统性的"反蒸馏"策略。通过5层分析框架(AI冲击现状、核心价值解构、AI天花板、能力升级路径、人机协作模式),帮助从业者识别可替代任务与核心价值,建立不可替代的专业优势。内容涵盖IT开发、数据分析、产品管理等技术领域,为职场人提供从“被AI替代”到“与AI协同”的转型路线图,守护职业价值。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1644

hbck源码系列(一)--hbck基本介绍

本文主要针对CDH5.13.3对应hbase1.2版本来分析hbck,帮助大家在运维中正确使用该修复工具 一.hbck基本介绍 Hbck主要有两个作用:检查异常和修复异常 注意:该图参考范欣欣的一个ppt图. 一致性修复 一致性检查主要检查是检查Region在meta中的Region、在线Regionserver的Region和hdfs的Regioninfo的Region信息...

峰的记忆 1244

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

hbck源码系列(三)--表的完整性检查和修复< LoadData>

一.数据加载方法 检查表的完整性是离线的,也就是检查表在HDFS的完整性,所以,首先hbck会从HDFS加载数据,源码的主要方法: loadHdfsRegionDirs:加载HDFS的区域的目录,封装到HBCKinfo的HdfsEntry部分属性。 loadHdfsRegionInfos:加载和打开HDFS的regioninfo文件,获取regioninfo信息,更新hbckin...

峰的记忆 422

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

hbck源码系列(二)--表的完整性检查和修复

一.onlineHbck 上一篇提到hbck的修复分为表的一致性修复和表的完整性修复,实际的修复和检查都在这个方法 onlineHbck,由源码可知表的完整性检查和修复,是可离线操作,而一致性是在线操作。 二.表的完整性检查和修复 offlineHdfsIntegrityRepair 完整性检查是针对表级别,主要是检查表的完整性,如region的hol...

mnasd的博客 281

hbck源码系列(二)--表的完整性检查和修复<onlineHbck>

一.onlineHbck 上一篇提到hbck的修复分为表的一致性修复和表的完整性修复,实际的修复和检查都在这个方法 onlineHbck,由源码可知表的完整性检查和修复,是可离线操作,而一致性是在线操作。 二. 表的完整性检查和修复 offlineHdfsIntegrityRepair 完整性检查是针对表级别,主要是检查表的完整性,如region的...

峰的记忆 576

hbase 元数据修复

hbase 元数据修复 问题 hbase fck 报错: .. 2021-12-28 16:57:20,906 INFO [main] util.HBaseFsck: Loading region information from HDFS 2021-12-28 16:57:21,506 INFO [main] util.HBaseFsck: Checking and fixing region consistency ERROR: Region { meta => SYSTEM.LOG,\x0

jzy3711的博客 3147

HBase RIT问题处理

在修改Hbase某个表数据的存储时间时,update进度会卡住 在hbase ui上发现该表有47个region长时间处于RIT状态,正好跟卡住的region数量一致 通过执行hbase hbck检测状态 发现如下问题 ERROR: There is a hole in the region chain between 98920_9223370437043986807 and 9895345_9223370407827298807. You need to create a...

sunyang098的博客 1494

RIT导致的数据空洞故障导致hbase读写缓慢

故障现象 在hbase用户下,使用以下命令: hbase hbck -details 检查所有region 和 regionserver的情况,发现存储数据空洞现象: “ERROR: There is a hole in the region chain between …… You need to create a new .regioninfo and region dir in hdfs t...

lpacino的博客 1382

【HBASE】记一次HBase进行数据迁移,重建元数据

hbase生产集群大量永久RIT无法修复,为保证查询,迁移数据到小集群

Meepoljd的博客 1745

记一次HBase无法正常启动,长时间RIT, 修复meta元数据不一致的问题

*步骤7:**hbase hbck -fixAssignment 把这些offline的region触发上线,当region开始重新open上线的时候,会被重新分配到真实的RegionServer上 , 并更新meta表上对应的行信息。**步骤6:**hbase hbck -fixMeta 修复meta表信息,利用regioninfo信息,重新生成对应meta row填写到meta表中,并为其填写默认的分配regionserver。进入HDFS 文件系统查看HBase的目录,原先的表数据都还在。

weixin_47720251的博客 1094

HBase - 生产环境上线前真的优化过吗?

笔者今天给大家讲一下 HBase 生产环境中的实践,包括资源隔离、参数配置、性能优化等方面,部分内容参考《HBase原理与实践》(非常建议大家好好读一读,一定会大有收获),以及笔者的实战...

DataFlow范式 1399

Hbase2修复 - HBCK2

这两天集群扩容后,出现的一系列问题,某个节点数据的VERSION不对,最终没解决掉,最后导致HBase数据丢失 以下是所使用到的博客,记录一下以后再次出现好进行解决 主要使用HBCK2 https://www.modb.pro/db/54575 https://developer.aliyun.com/article/683107 https://zhuanlan.zhihu.com/p/83237810 https://www.daimajiaoliu.com/daima/4edb28b64900404

chun的博客 537

记录一次HBase异常处理过程

记录一次HBase异常处理过程,包括HDFS数据问题、MetaData问题、regions重叠问题、表数据不一致

小陌成长之路 1572

hbase表修复

场景 opentsdb启动报错 grep -i error /tmp/opentsdb.log 2020-10-13 12:19:41,098 INFO [main-SendThread(localhost:2181)] ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) 2020-10-13

weixin_40548182的博客 5867
上一篇: hbck源码系列(三)--表的完整性检查和修复< LoadData>
下一篇: hbck源码系列(五)--Orphan源码分析
mnasd
博客等级 码龄16年 242粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值