相信维护过hbase的人都遇到过table进入RIT状态,RIT状态都是hbase管理者不愿意见到的。RIT是什么?可以看下这篇文章:https://www.jianshu.com/u/ad4d39659223,介绍的很详细。
一般遇到hbase table 进入RIT怎么解决:
1.当在hbase webui看到某个表某个regin进入RIT时,可以重启该regin所在节点进行恢复。
2.停止hbase集群删除zk 上 /hbase节点,重启集群进行恢复。
3.重启不能恢复时,就需要查看hbase日志了,检查hdfs 文件是否异常,修复hdfs文件异常,通过hbase hbck命令进行修复。
4.reginserver 内存太小也会导致table进入RIT,加大reginserver内存解决,测试环境就碰到过这个问题
5.暴力删除异常table或table部分受损的数据分区,通过删除hdfs上/hbase 下的目录文件,修复hbase meta,这种方式会丢失数据。