单节点启动spark-shell成功 另一节点失败的问题求助
Spark YARN模式新节点连接故障排查建议
校验主机名与解析一致性
- 确认新节点(0.0.0.212)的
hostname输出为tencentR,同时检查/etc/hostname文件是否已修改正确,可执行hostnamectl set-hostname tencentR让修改立即生效。 - 确保集群所有节点(包括YARN ResourceManager、NodeManager)的
/etc/hosts中都添加了新节点的映射:0.0.0.212 tencentR;同时清理新节点/etc/hosts中残留的旧主机名tencent_r相关配置。
- 确认新节点(0.0.0.212)的
清理本地缓存与临时文件
- 删除新节点上Spark和YARN的临时文件,避免旧配置残留:
rm -rf /tmp/spark-* /tmp/hadoop-* - 重启新节点的YARN客户端相关进程,确保新配置完全加载。
- 删除新节点上Spark和YARN的临时文件,避免旧配置残留:
核对核心配置参数
- 检查
yarn-site.xml,确认yarn.resourcemanager.address、yarn.resourcemanager.resource-tracker.address等参数指向集群正确的ResourceManager主机名/IP,而非旧节点的tencent_r。 - 检查
spark-defaults.conf:- 确保
spark.master设置为yarn(而非spark://开头的独立集群模式地址); - 配置
spark.driver.host为新节点的IP(0.0.0.212)或可被集群解析的主机名tencentR,避免Driver绑定到无效主机名。
- 确保
- 检查
验证网络与端口连通性
- 在新节点执行
ping tencentR、ping集群所有节点主机名,确认解析和网络都正常。 - 用
nc命令测试端口连通性,比如错误中提到的43372,以及YARN ResourceManager的默认端口:nc -zv tencentR 43372 nc -zv [ResourceManager主机名] 8032 - 检查新节点防火墙规则,确保允许与集群节点的Spark、YARN相关端口通信。
- 在新节点执行
通过日志定位细节问题
- 查看新节点上Spark Driver的日志(默认路径
~/.spark/logs或YARN指定目录),从错误堆栈中确认是主机名解析还是端口绑定问题。 - 查看YARN ResourceManager的日志,排查是否有新节点注册或连接的错误记录。
- 查看新节点上Spark Driver的日志(默认路径
内容的提问来源于stack exchange,提问作者cloudscomputes
相关产品推荐
相关产品推荐

