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

环境

Hbase 版本:2.0

问题原因

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

Hbase Region in transition (RIT) 异常解决:https://datamining.blog.csdn.net/article/details/83012500

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

解决方法

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

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

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

上图框中的内容就是存在 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的信息 

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

Hbase 2.x Region in transition (永久RIT) 异常解决_第1张图片

4. 启动master服务

发现已经没有RIT问题了

总结

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

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

 

 

你可能感兴趣的:(Hbase)