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

本文介绍了如何处理HBase中Region-in-Transition(RIT)状态的问题,提供了两种解决方案:使用hbck2重新分配region和删除并重建问题region的数据,包括删除meta表中的相关信息,清理HDFS上的region数据以及MasterData,并详细阐述了操作步骤。
摘要由CSDN通过智能技术生成

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。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值