0
点赞
收藏
分享

微信扫一扫

Hbase 2.x Region in transition (永久RIT) 异常解决


环境

Hbase 版本:2.0

问题原因

Hbase 2.x Region in transition (永久RIT) 异常解决_表数据

hbase长时间出现RIT,并且发生RIT的Region是已经删除了的Hbase表,表未删除的情况下执行assgin可以消除该问题


表删除后,执行assgin 会提示超时,表的Region不存在无法执行 该命令。

解决方法

Hbase 2.x 版本 RIT信息已经不再Zookeeper中保存

AssignmentManagerV2:https://yq.aliyun.com/articles/601096

 首先我们删除 hbase:meta 中的region元信息,该表已经不再在了,元信息也是没有用的垃圾数据。

Hbase 2.x Region in transition (永久RIT) 异常解决_重启_02

上图框中的内容就是存在 meta表中的rowkey,我们直接去删除就可以

执行

hbase(main):028:0> deleteall 'hbase:meta','ods_temp:article_201946,201911148ba82019111417250_4438580456290645,1573830736676.554265c5fc696d51402757916fcb7cf9.'
Took 0.3505 seconds

 1. 删除meta表数据

 2. 停止Master服务

 3. 删除/hbase/MasterProcWALs 下的文件

不删除该文件,master重启后还是会读取该日志文件

hdfs dfs -rm /hbase/MasterProcWALs/pv2-00000000000000000001.log

我们大概看下内容,发现包含RIT的信息 

Hbase 2.x Region in transition (永久RIT) 异常解决_日志文件_03

 如果不删除该日志文件,我们重启master服务,会发现RIT还是存在,但是state变成了OFFLINE,server 变成 null

Hbase 2.x Region in transition (永久RIT) 异常解决_重启_04

4. 启动master服务

发现已经没有RIT问题了

总结

当RIT发生的时候,是执行不了 balance 的,所以永久RIT的状况要及时解决。

正常使用情况下的RIT问题基本不需要处理,这种永久性RIT问题出现的频率不会很高,删除元数据需谨慎,最好在测试环境测试后,再在生产环境使用。

 

 

举报

相关推荐

0 条评论