You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark Shell YARN模式启动失败求助:执行命令后陷入停滞

我之前在维护Spark 2.3 + Hadoop 2.7.3集群时,碰到过完全一样的问题——启动Spark Shell卡在YARN AM分配环节,RM UI一直显示ACCEPTED: waiting for AM container to be allocated, launched and register with RM。结合当时踩过的坑和排查经验,给你整理几个靠谱的解决方向:

1. 先确认YARN集群有没有可用资源

首先去Resource Manager UI的Nodes页面,看看所有NodeManager的状态:

  • 有没有离线的Node?如果NM都挂了,肯定没法分配容器
  • 剩余内存/CPU是不是被其他任务占满了?如果集群资源耗尽,YARN会一直排队等资源

要是资源不够,可以先提交一个资源需求极小的测试命令,看能不能启动:

./spark-shell --master yarn --deploy-mode client --executor-memory 512m --driver-memory 512m --num-executors 1

能启动的话,再逐步调大资源参数。

2. 核对yarn-site.xml的核心配置

这是最容易出问题的地方,重点检查以下几个参数:

  • yarn.nodemanager.resource.memory-mb:每个NM的总可用内存,必须大于你给Executor的内存(还要加上AM的内存,默认是1G左右)
  • yarn.scheduler.maximum-allocation-mb:YARN允许单个容器申请的最大内存,要大于等于spark.executor.memory + spark.yarn.executor.memoryOverhead(默认Overhead是executor内存的10%)
  • yarn.nodemanager.vmem-pmem-ratio:Hadoop 2.7默认是2.1,如果你的机器虚拟内存不足,NM会拒绝启动容器。可以临时调大到4,或者(仅限测试环境)关闭虚拟内存检查:yarn.nodemanager.vmem-check-enabled=false
  • yarn.resourcemanager.address/yarn.resourcemanager.scheduler.address:确保这两个参数指向正确的RM主机和端口,Spark客户端要能连通RM
3. 检查HDFS的权限和可用性

Spark AM启动时需要从HDFS读取依赖包,所以要确认:

  • 你的用户对Spark安装目录下的jars文件夹有读写权限,HDFS的对应目录(如果配置了spark.yarn.jars)也有足够空间和权限
  • 执行hdfs dfs -ls /测试HDFS是否能正常访问,连不上HDFS的话AM根本没法初始化
4. 去日志里找具体错误

别只看RM的状态提示,去翻日志才是解决问题的关键:

  • RM日志:路径一般是$HADOOP_HOME/logs/yarn-*-resourcemanager-*.log,里面会记录资源分配的详细过程
  • NM日志:如果某个NM尝试启动AM但失败,$HADOOP_HOME/logs/yarn-*-nodemanager-*.log里会有具体错误,比如内存不足、权限拒绝、依赖缺失
  • Spark客户端日志:启动spark-shell的控制台输出里,往上翻会有调试信息,比如连接超时、资源申请被拒绝的原因
5. 补全mapred-site.xml配置

虽然你说不用MapReduce,但Spark on YARN还是依赖部分MapReduce配置。建议你复制mapred-site.xml.template为mapred-site.xml,至少加上:

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

这个参数是YARN模式下的必备项,缺失可能导致AM启动失败。

6. 排查网络与防火墙
  • 确保RM、NM和Spark客户端之间的网络连通,比如RM的8032、8030端口,NM的8042端口都能正常访问
  • 如果集群有防火墙,先临时关闭测试,排除端口被拦截的问题

内容的提问来源于stack exchange,提问作者user1870400

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:06:42