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

一、在线修复

    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 

转载于:https://my.oschina.net/Rayn/blog/2208050

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值