文档章节

HBase 表修复在线方式和离线方式

Ryan-瑞恩
 Ryan-瑞恩
发布于 09/24 11:26
字数 431
阅读 15
收藏 0

一、在线修复

    1.1 使用检查命令

$ ./bin/hbase hbck

该命令可完整修复  HBase 元数据信息;存在有错误信息会进行输出;

也可以通过如下命令查看详细信息:

$ ./bin/hbase hbck -details

   

     1.2 修复 TableInfo 缺失

    使用如下命令:

$ ./bin/hbase hbck -fixTableOrphones

    根据内存cache或者hdfs table 目录结构,重新生成tableinfo文件!

   

     1.3 修复regioninfo缺失

    根据region目录下的hfile重新生成regioninfo文件

$ ./bin/hbase hbck -fixHdfsOrphones

 

    1.4 修复region重叠

    merge重叠的region为一个region目录,并从新生成一个regioninfo。

$ ./bin/hbase hbck -fixHdfsOverlaps

 

    1.5 修复region缺失

    利用缺失的rowkey范围边界,生成新的region目录以及regioninfo填补这个空洞!

$ ./bin/hbase hbck -fixHdfsHoles ,

    

    1.6 修复meta表信息

    利用regioninfo信息,重新生成对应meta row填写到meta表中,并为其填写默认的分配regionserver

$ ./bin/hbase hbck -fixMeta

    

    1.7 出发上线    

    把这些offline的region触发上线,当region开始重新open上线的时候,会被重新分配到真实的RegionServer上 , 并更新meta表上对应的行信息。

hbase hbck -fixAssignment

 

二、离线修复

    离线修复的前提条件:HDFS fsck确保hbase根目录下没有文件损坏和丢失。如果有,应该先考虑修复/处理 corrupt 的 block 块。

    使用如下命令:

 $ ./bin/hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair 

 

参考资料:

【1】HBase 官方文档 . http://hbase.apache.org/book.html#hbck.in.depth 

© 著作权归作者所有

共有 人打赏支持
Ryan-瑞恩

Ryan-瑞恩

粉丝 146
博文 226
码字总数 176302
作品 0
西安
后端工程师
云HBase小组成功抢救某公司自建HBase集群,挽救30+T数据

摘要: 使用过开源HBase的人都知道,运维HBase是多么复杂的事情,集群大的时候,读写压力大,配置稍微不合理一点,就可能会出现集群状态不一致的情况,糟糕一点的直接导致入库、查询某个业务...

阿里云云栖社区
04/18
0
0
HBase运维基础――元数据逆向修复原理

  【IT168 评论】   背景   鉴于上次一篇文章――“云HBase小组成功抢救某公司自建HBase集群,挽救30+T数据”的读者反馈,对HBase的逆向工程比较感兴趣,并咨询如何使用相应工具进行运...

云栖社区
05/02
0
0
sqoop导入数据到Base并同步hive与impala

使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 Sqool和Hive、HBase简介 测试Sqoop 使用Sqoop从MySQL导入数据到Hive 使用Sqoop从MySQL导入数据到HBase 关于Sqoop2 综上所述 其他...

hblt-j
07/20
0
0
hbase日常操作以及日常维护

一,基本命令: 建表:create 'testtable','coulmn1','coulmn2' 也可以建表时加coulmn的属性如:create 'testtable',{NAME => 'coulmn1', BLOOMFILTER => 'NONE', REPLICATIONSCOPE => '0', ......

北游
2012/09/03
0
0
一文让您全面了解清楚HBase数据库的所有知识点,值得收藏!

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 一、HBase基本概念:列式数据...

李金泽
03/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Go interface{} to string

package mainimport "fmt"func main() {var a interface{}a = "dsadjaldaldad"var b stringb = a.(string) // 话说,用人话说的话,这叫什么操作?fmt.Println(a, b)}...

taadis
3分钟前
0
0
数据库防火墙

数据库防火墙顾名思义是一款数据(库)安全设备,从防火墙这个词可以看出,其主要作用是做来自于外部的危险隔离。换句话说,数据库防火墙应该在入侵在到达数据库之前将其阻断,至少需要在入侵...

突突突酱
12分钟前
0
0
RDBMS 关系型数据库与 NoSQL 全面比较

随着互联网的不断发展,各种类型的应用层出不穷,所以导致在这个云计算的时代,对技术提出了更多的需求,主要体现在下面这四个方面: 低延迟的读写速度:应用快速地反应能极大地提升用户的满...

PeakFang-BOK
20分钟前
0
0
徒弟做了一个Python的实战小项目——银行系统

国际惯例:实践是检验真理的唯一标准。 众所周知,在编程过程中理论知识再充实也需要通过项目的炼金石。下面给大家看一下我徒弟做的一个小项目实战要求,是做一个银行系统,就是我们去银行办...

无也Python
27分钟前
1
0
vue.js响应式原理解析与实现

从很久之前就已经接触过了angularjs了,当时就已经了解到,angularjs是通过脏检查来实现数据监测以及页面更新渲染。之后,再接触了vue.js,当时也一度很好奇vue.js是如何监测数据更新并且重新...

peakedness丶
46分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部