跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

HBase报RegionServer connection refused是RS挂了吗?

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://:16010/master-status
(端口以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写入失败等 。

相关文章