hbase 2.x 永久 RIT 的解决方法

hbase环境

hbase-2.3.3

问题描述

assignment.AssignmentManager: STUCK Region-In-Transition state=OPENING, location=datanode,16902,1616836706021, table=table_name, region=fb06a2******

解决方法一

使用hbck2重新assigns

HBASE_CLASSPATH_PREFIX=./hbase-hbck2-1.1.0-SNAPSHOT.jar ./bin/hbase org.apache.hbase.HBCK2 assigns -o fb06a26bb294cf8a9f6b6f499d6b1922

通常情况下,此种方法会重新分配region,解决rit。

解决方法二

由于上述方法没有解决问题,而且出现rit的region只有一个,所以采用删除该region数据的方式,解决rit问题,具体执行流程如下:

删除meta表中该region的数据

获取所有meta中的region信息

hbase shell << EOF
scan 'hbase:meta'
EOF

定位到出现rit的region信息
在这里插入图片描述
通过hbase shell查询该信息,确认无误后删除:
在这里插入图片描述

停掉hbase,进入bin目录执行./stop_hbase.sh

删除hdfs中该region的数据,
hadoop fs -rm -R /hbase/data/default/table_name/fb06a26bb294cf8a9f6b6f499d6b1922

删除hdfs中MasterData的数据(删除前先备份,防止意外情况发生时可以恢复)
hadoop fs -get /hbase/MasterData
hadoop fs -rm -R /hbase/MasterData

启动hbase,进入bin目录执行./start_hbase.sh

总结

  1. 首先删除meta表数据。
  2. 停掉hbase。
  3. 删除hdfs中region和master表信息。
  4. 启动hbase。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值