原文地址:https://bbs.huaweicloud.com/blogs/353332

HBaseFsck(hbck)是一种命令行工具,可检查hbase集群的region一致性和表完整性的问题,同时可以修复损坏的集群数据

hbase hbck [options]

options:

-fixAssignments

使用场景:region不在线

hbck报错

ERROR: Region { meta => null, hdfs => hdfs://hacluster/hbase/data/default/xxxxxxxx/xxxxxxxxxxxxx, deployed => , replicaId => 0 } on HDFS, but not listed in hbase:meta or deployed on any region server

Tips:修复前,可以先检查下表region是否连续,如果连续,执行命令修复后,可能出现overlaps问题。

-fixMeta

使用场景:Meta表数据异常

hbck报错

ERROR: Region { meta => XXXXXXXXXXX,4150,1634403123676.xxxxxxxxxxxxxxxxxxx., hdfs => null, deployed => , replicaId => 0 } found in META, but not in HDFS or deployed on any region server.

 Tips:命令一般可以结合-fixAssignments一起使用:hbase hbck -fixMeta -fixAssignments tableName

-fixHdfsHoles

使用场景:Region不连续,中间存在空洞

hbck报错

ERROR: There is a hole in the region chain between 5980 and 6000.  You need to create a new .regioninfo and region dir in hdfs to plug the hole.

Tips:执行修复前,先查看是否有region不在线,如果有则先使用-fixAssignments修复

-fixHdfsOrphans

使用场景:表regioninfo丢失

hbck报错

 ERROR: Orphan region in HDFS: Unable to load .regioninfo from table XXXXXX

 in hdfs dir hdfs://hacluster/hbase/data/default/ XXXXXX /xxxxxxxxxxxxxxx!  It may be an invalid format or version file.  Treating as an orphaned regiondir.

Tips:丢块、人为删除,都可能导致该问题,多修复几次。

-fixTableOrphans

使用场景:表tableinfo丢失

hbck报错

TableInfoMissingException: No table descriptor file under hdfs://hacluster/hbase/data/default/XXXXXXX

Tips:丢块、人为删除,都可能导致该问题,一般都会修复失败,可以在相同版本集群建同名表,复制tableinfo进行恢复。

-fixhdfsOverlaps

使用场景:Region之间出现重叠的情况

hbck报错

ERROR: (region XXXXXX,994,1599460846542.xxxxxxxxxx.) Multiple regions have the same startkey: 994
ERROR: (region XXXXXX,994,1599543035805.xxxxxxxxxx.) Multiple regions have the same startkey: 994
ERROR: (regions XXXXXX,994,1599543035805.xxxxxxxxxx. and XXXXXX,998,1571500798247.xxxxxxxxxx.) There is an overlap in the region chain.

Tips:一般一次修复不成功,需要多执行几次。该修复可能影响业务(修复过程,会把重叠的region下线,合并为1个region)。

-sidelineBigOverlaps -maxOverlapsToSideline <N>

使用场景

  sidelineBigOverlaps:修复overlap问题过程中,允许跟其他region重叠次数最多的一些region不参与(修复后,可以把没有参与的数据通过bulk load加载到相应的region;maxOverlapsToSideline修复overlap问题过程中,一组里最多允许多少个region不参与

hbck报错:暂无

Tips:使用命令 hbase hbck -repair -sidelineBigOverlaps -maxOverlapsToSideline 10 tableName

-fixReferenceFiles

使用场景:修复残留的reference文件

hbck报错

ERROR: Found lingering reference file hdfs://hacluster/hbase4/data/default/XXXXXX/xxxxxxxxxx/F/3f7f9c436845499eaea025965d6528e3.75b81cdf8bd8e218f581dc274423be1c

Tips:暂无

-repair

使用场景:该命令是多个命令的集合,包含:

  • -fixAssignments
  • -fixMeta
  • -fixHdfsHoles
  • -fixHdfsOrphans
  • -fixHdfsOverlaps
  • -fixVersionFile
  • -sidelineBigOverlaps
  • -fixReferenceFiles
  • -fixTableLocks
  • –fixOrphanedTableZnodes

hbck报错:暂无

Tips:一般overlap问题,可以简单粗暴的直接repair

常用修复命令

# 检查hbase是否不一致
hbase hbck>/tmp/hbck.out
tail /tmp/hbck.out
# hbase hbck 常规修复
hbase hbck -fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOverlaps > /tmp/hbck.out
# hbase hbck repair修复
hbase hbck -repair
# dstool修复(暂略)

未完待续……

Hbase - hbase hbck介绍的更多相关文章

  1. HBase shell 命令介绍

    HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...

  2. Hbase记录-ZooKeeper介绍

    ZooKeeper是一个分布式协调服务来管理大量的主机.协调和管理在分布式环境的一个服务是一个复杂的过程.ZooKeeper 简单解决了其结构和API这个问题.ZooKeeper允许开发人员能够专注于 ...

  3. hbase 修复 hbck

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

  4. HBase基本知识介绍及典型案例分析

    本次分享的内容主要分为以下五点: HBase基本知识: HBase读写流程: RowKey设计要点: HBase生态介绍: HBase典型案例分析. 首先我们简单介绍一下 HBase 是什么. HBa ...

  5. HBase的TTL介绍

    1. 定义 TTL(Time to Live) 用于限定数据的超时时间. 2.原理 以Column Family的TTL为例介绍, hbase(main):001:0> desc 'wxy:te ...

  6. HBase Snapshot功能介绍

    HBase在0.94之后提供了Snapshot功能,一个snapshot其实就是一组metadata信息的集合,它可以让管理员将表恢复到以前的一个状态.snapshot并不是一份拷贝,它只是一个文件名 ...

  7. 【转】HBase 超详细介绍

    ---恢复内容开始--- http://blog.csdn.net/frankiewang008/article/details/41965543 1-HBase的安装 HBase是什么? HBase ...

  8. HBase MVCC 机制介绍

    关键词:MVCC HBase 一致性 本文最好结合源码进行阅读 什么是MVCC ? MVCC(MultiVersionConsistencyControl , 多版本控制协议),是一种通过数据的多版本 ...

  9. HBase总结(十一)hbase Java API 介绍及使用示例

    几个相关类与HBase数据模型之间的对应关系 java类 HBase数据模型 HBaseAdmin 数据库(DataBase) HBaseConfiguration HTable 表(Table) H ...

  10. hbase Java API 介绍及使用示例

    几个相关类与HBase数据模型之间的对应关系  java类 HBase数据模型 HBaseAdmin 数据库(DataBase) HBaseConfiguration HTable 表(Table) ...

随机推荐

  1. 开源USB协议栈漏洞挖掘

    文章首发于 https://forum.butian.net/share/169 目录 起因 漏洞挖掘 sboot_stm32 tinyusb dfu_moded_control_xfer_cb 越界 ...

  2. .NET Core 异常(Exception)底层原理浅谈

    中断与异常模型图 内中断 内中断是由 CPU 内部事件引起的中断,通常是在程序执行过程中由于 CPU 自身检测到某些异常情况而产生的.例如,当执行除法运算时除数为零,或者访问了不存在的内存地址,CPU ...

  3. 云数据备份 | CDN 日志备份最佳实践

    前言 ​ 内容分发网络(Content Delivery Network,CDN),是在现有 Internet 中增加的一层新的网络架构,可以有效降低用户访问延迟,提升可用性. CDN 按照小时粒度对 ...

  4. Electron 通信

    1.web向主进程发送消息 (单项) 使用ipcMain.on 监听事件 const hanle = (event, data) => { console.log(event) console. ...

  5. Delon ACL

    Delon ACL delon ACL Alain acl 路由守卫 使用 ACLService 核心是 ACLService,See:https://github.com/ng-alain/delo ...

  6. 再次探讨 WinForms 多线程开发

    再次探讨 WinForms 多线程开发 WinForms 已经开源,您现在可以在 GitHub 上查看 WinForm 源代码. 正好有人又讨论到在 WinFroms 环境下的多线程开发,这里就再整理 ...

  7. 【MyBatis】学习笔记15:通过分步查询解决一对多或多对多问题

    目录 对象 SmbmsProvider.java SmbmsBill.java 接口 providerMapper.java orderMapper.java 映射文件 providerMapper. ...

  8. spring boot 启动原理解析

    https://www.cnblogs.com/xiaoxi/p/7999885.html 我们开发任何一个Spring Boot项目,都会用到如下的启动类 1 @SpringBootApplicat ...

  9. Datawhale 2025冬令营“嬛嬛,我来啦!”😘

    Datawhale2025冬令营 Datawhale 2025 AI冬令营链接:https://www.datawhale.cn/activity/110/21/76?rankingPage=1 赠送 ...

  10. AutoCAD 2020中文版建筑设计从入门到精通下载链接

    AutoCAD 2020中文版建筑设计从入门到精通下载链接 链接:https://pan.baidu.com/s/1EgFHOSKfPrr9Xdp3bNA-pA或https://pan.baidu.c ...