这个错误表明客户端(Client)无法连接到 NodeManager(NM)的服务端口 8032
,原因是连接被拒绝 (Connection refused
)。以下是详细分析和解决方案:
错误原因
NodeManager 未运行
- NodeManager 进程可能已崩溃或未启动。
- 检查目标节点
NM-304-RH5885V3-BIGDATA-007
(IP:10.142.113.3
)的 NodeManager 状态。
网络问题
- 防火墙或安全组规则阻止了客户端与 NodeManager 的通信(默认端口
8032
)。 - 网络分区或路由问题导致连接失败。
- 防火墙或安全组规则阻止了客户端与 NodeManager 的通信(默认端口
配置错误
- YARN 配置文件中可能指定了错误的 NodeManager 地址或端口。
- ResourceManager 与 NodeManager 之间的心跳中断。
资源耗尽
- NodeManager 所在节点的系统资源(内存、CPU、文件描述符)耗尽,无法接受新连接。
解决步骤
1. 检查 NodeManager 状态
在目标节点 NM-304-RH5885V3-BIGDATA-007
上执行:
# 确认 NodeManager 进程是否运行
ps aux | grep nodemanager
# 启动/重启 NodeManager
yarn-daemon.sh start nodemanager
2. 验证端口监听
在目标节点上检查 8032
端口是否监听:
netstat -tuln | grep 8032
如果没有输出,说明服务未启动或绑定失败。
3. 检查网络连通性
从客户端节点测试到目标节点的连通性:
telnet NM-304-RH5885V3-BIGDATA-007.example.com:8032
如果无法连接,排查:
- 防火墙规则:临时关闭防火墙测试(生产环境谨慎操作):
systemctl stop firewalld # CentOS/RHEL ufw disable # Ubuntu
- 安全组:如果是云环境(如AWS/Azure),检查安全组是否放行
8032
端口。
4. Review YARN配置
确保以下配置文件中的参数正确:
yarn-site.xml
<property> <name>yarn.nodemanager.address</name> <value>0.0.0.0:8032</value> <!-- 确保IP和端口正确 --> </property>
5.查看日志
在目标节点上检查 NodeManager 日志:
tail -f /var/log/hadoop-yarn/yarn-nodemanager.log
常见日志关键字:
BindException
→ IP/端口冲突
Resource limit exceeded
→ 系统资源不足
6.Resource Manager同步问题
如果NodeManager已启动但仍不可达,可能是RM未更新其状态。尝试重启ResourceManager:
yarn-daemon.sh restart resourcemanager
其他建议
- 重试机制:如果是偶发故障,增加客户端的重试次数(需修改YARN配置)。
- 负载均衡:如果集群规模大,确保多个NodeManager均匀分布任务。
- DNS解析:确认主机名
NM-304-RH5885V3-BIGDATA-007
能正确解析为IP地址。
如果需要进一步帮助,请提供以下信息:
/etc/hosts
中该节点的配置;
yarn-site.xml
相关配置片段;
- NodeManager日志中的异常部分。
内容由零声教学AI助手提供,问题来源于学员提问