regionserver连接被拒时,应依次检查进程是否存在、端口是否监听、zk注册节点是否在线、master web ui状态及日志中的fatal/error错误,从而快速定位挂掉原因。

如果您尝试连接HBase服务,但客户端报出“Connection refused”错误并指向某个RegionServer的IP和端口(如hadoop05:16020),则该RegionServer极大概率已停止响应或进程已退出。以下是验证与定位该问题的多种方法:
一、检查RegionServer进程是否存在
该方法用于确认RS进程是否仍在运行。若进程不存在,则直接表明RS已挂掉。
1、登录对应节点(例如hadoop05)执行jps -l | grep HRegionServer命令。
2、若输出为空或未包含org.apache.hadoop.hbase.regionserver.HRegionServer进程,则说明RS进程已终止。
3、进一步执行ps aux | grep regionserver确认是否有残留进程或僵尸进程。
二、检查RegionServer端口监听状态
该方法用于判断RS虽进程存在,但未成功绑定端口,常见于启动失败或端口被占用场景。
1、在RS所在节点执行netstat -tuln | grep :16020(默认端口为16020,以实际配置为准)。
2、若无输出或显示LISTEN状态缺失,则表明RS未正常监听该端口。
3、若提示Address already in use,需排查端口冲突,重点检查是否有其他Java进程占用了16020端口。
三、检查ZooKeeper中RS节点注册状态
ZooKeeper是HBase集群状态的核心协调者,RegionServer启动后会在/hbase/rs/路径下创建临时节点;若该节点消失,则Master已将其标记为离线。
1、使用zkCli.sh -server dn1:2181,dn2:2181,dn3:2181连接ZK集群。
2、执行ls /hbase/rs查看当前在线RS列表。
3、若目标节点(如hadoop05,16020,172xxxxxx)不在输出中,说明ZK已感知其会话过期,RS已被Master判定为宕机。
四、检查HBase Master Web UI状态
Master提供的HTTP界面直观反映各RegionServer的健康状况及最后心跳时间。
1、访问http://<master-host>:16010/master-status</master-host>(端口以hbase.master.info.port配置为准)。
2、在“Region Servers”表格中查找目标节点(如hadoop05:16020)。
3、若该行缺失,或显示“DEAD”、“FAILED”、“Last seen: N/A”,即确认该RS已脱离集群管理视图。
五、检查RegionServer日志中的致命错误
日志是定位RS挂掉根本原因的直接依据,需关注ERROR或FATAL级别记录。
1、进入RS日志目录(通常为$HBASE_LOG_DIR/hbase-*-regionserver-*.log)。
2、执行tail -n 100 hbase-*-regionserver-*.log | grep -i -E "(fatal|error|abort|clockoutofsync|session expired|connection refused)"。
3、若发现ABORTING region server或ClockOutOfSyncException等关键词,可立即确认挂掉类型:时钟不同步、ZK会话超时、WAL写入失败等。











