记录一次测试环境粗暴修复hbase的RIT和master无法启动问题

本文详细阐述了在HBase 2.0.2版本遇到大量RIT和master节点故障时,如何通过删除关键文件并重置集群来恢复环境,包括删除Zookeeper的/hbase目录、WALs、元数据表等,以及后续的修复步骤和推荐的修复工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:一次对测试环境hbase的远程调试中,一边压测一边调试,最后导致regionserver挂了,出现了几千个处于中间状态的region(RIT),然后master也挂了起不来。按之前的经验,如果大部分region都RIT了,master又挂了,修复起来会比较麻烦。这个集群就我一个人用,目前我只需要一个表正常就行了。于是打算直接重做测试环境hbase集群

注意:该方法适用于2.0.2版本的hbase,其他版本hbase操作可能有些不同

行动步骤:

1. 关闭集群

2.将zookeeper根目录下/hbase这个文件夹直接删除

解释:集群重启的时候会自动重建的,zookeeper根目录下/hbase存的都是些主从复制peer信息和元数据表所在服务器啥的,删掉后重启集群会自动重建

3. 删除对应hadoop里的wal文件夹,默认路径为/hbase/WALs

解释:这一步会导致丢失wal数据,里面存了些最新的hbase数据修改,删掉会丢失最近的修改,不过测试环境无所谓。不删除的话后面集群重启时会master节点会因为切分wal失败而无法启动。

4.删除hadoop里的/hbase/data/hbase/meta

解释:元数据表的存储路径,RIT的关键所在,删掉重启集群后会自动重建集群必要部分,其他数据表需要使用修复工具修复

5.删除hadoop里的/hbase/data/hbase/namespace

6.重启集群,这个时候master节点就能正常启动了

解释:重启后你会发现很多表对应的region数量为0,这是因为元数据表里没有这些表的region数据,需要修复下元数据表

 

7.使用修复工具修复需要使用的表

解释:修复工具请看这个github

HBase 2.0.0 META 数据修复工具-阿里云开发者社区HBase 2.0.0 META 数据修复工具 分享给那些使用了hbase2.0.0 因其他原因无法升级 又被坑的小伙伴们icon-default.png?t=M5H6https://developer.aliyun.com/article/738179

8.重启master节点

解释:重新加载元数据表

9.完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值