HBase RIT问题处理

在测试集群,下掉一个节点后,出现了有两个Region长期处于RIT状态。看样子系统是无法自动处理了,于是进行手动排除原因和恢复。

在Master中发现以下日志:

2020-12-31 11:01:19,395 WARN  [ProcedureExecutor-14] master.RegionStates: Failed to open/close e401a31361ebd9a6c32b5d49fa5d67e1 on ******,61020,1609243352679, set to FAILED_OPEN
2020-12-31 11:01:19,395 INFO  [ProcedureExecutor-14] master.RegionStates: Transition {e401a31361ebd9a6c32b5d49fa5d67e1 state=OFFLINE, ts=1609383679393, server=******,61020,1609243352679} to {e401a31361ebd9a6c32b5d49fa5d67e1 state=FAILED_OPEN, ts=1609383679395, server=******,61020,1609243352679}

执行hbck命令检测region状态问题:

bin/hbase hbck > hbck.log

主要有以下关键信息:

ERROR: Region { meta => ******,,1590488678648.e401a31361ebd9a6c32b5d49fa5d67e1., hdfs => hdfs://.../e401a31361ebd9a6c32b5d49fa5d67e1, deployed => , replicaId => 0 } not deployed on any region server.
ERROR: Region { meta => ******,,1584521012462.ce8e9df7ccd47735d61315f81b8d4177., hdfs => hdfs://.../ce8e9df7ccd47735d61315f81b8d4177, deployed => , replicaId => 0 } not deployed on any region server.

试着手动分配region:

assign '******,,1590488678648.e401a31361ebd9a6c32b5d49fa5d67e1.'

成功分配,RIT问题解决。

说明: 使用 hbck 工具修复也可以,但是 hbck 是全局的,执行起来会特别慢,可能会对线上环境产生影响,所以最好采用上面的方式进行修复。 命令如下:

bin/hbase hbck -fixAssignments > fixAssign.log
原文地址:https://www.cnblogs.com/cloudflow/p/14238638.html