原文地址: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. GraphRAG+文档结构:打造高性能实体溯源方案

    作者:陈梓康 众所周知,GraphRAG将文档内容抽取为知识图谱三元组后,实际上仅保留了关联性知识信息,因此不可避免地会丢失原文的一些内容细节.在对数据完整度要求严格的业务场景,如金融.医疗.保险等行 ...

  2. 【Amadeus原创】华为一键强制关闭后台应用的终极解决方法

    华为手机速度是快,用起来很顺手,但是最让人头疼的,就是紧急情况开会,我音乐关不了. 上划把全部应用删掉,也没用. 经过一阵子摸索,发现终极办法: 1, 打开华为自带的 手机助手- 应用启动管理 2, ...

  3. COSBrowser文件编辑-随时随地在线编辑

    本文介绍如何通过COSBrowser文件在线编辑功能更方便的使用云上存储的数据. 痛点分析 日常工作和生活中,我们需要把记录的文档.编写的文案.音视频文件保存管理好,又担心设备损坏.文件丢失或是更换设 ...

  4. 【XML】学习笔记第三章-namesapce

    目录 命名空间 命名空间概述 命名空间语法 命名空间的声明 命名空间作用域 对命名空间的使用 元素对命名空间的使用 属性对命名空间的使用 DTD对命名空间的支持 命名空间 命名空间概述 标记中出现了同 ...

  5. 【转载】用shell命令一步步获取Java版本号

    https://blog.csdn.net/f20052604/article/details/100269768 1.打印java -version命令echo $(java -version)输出 ...

  6. Win10正式专业版激活方法

      首先,我们先查看一下Win10正式专业版系统的激活状态: 点击桌面左下角的"Windows"按钮,从打开的扩展面板中依次点击"设置"-"更新和安全 ...

  7. JDK 19 Virtual Threads 虚拟线程

    前言 Project Loom Loom 是什么? 为什么要引入 Loom? Virtual threads Platform thread 是什么? Virtual thread 是什么? Virt ...

  8. 闲着没事,用STC12C5616AD制作一个74hc595测试仪

    手头有些特别廉价的直插74hc595,怕这些595因为廉价而质量不过关,因而萌发了制作一个测试仪的想法. 用测试仪先对595进行测试,功能正常了,再接入电路应用. 该测试仪能自动向595写入数据,再读 ...

  9. Appium_iOS 配置

    一. iOS Driver 配置 options = AppiumOptions()options.load_capabilities({ "platformName": &quo ...

  10. h5 页面播放base64编码的audio数据

    例子: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...