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

Spark独立集群资源不足时应用被杀,如何修改等待资源的超时时长?

Spark Standalone集群资源等待超时配置修改方案

你遇到的作业提交后无可用资源、等待固定时长后被杀死的问题,可通过修改以下Spark配置调整超时时间:

核心配置说明

  • spark.scheduler.maxRegisteredResourcesWaitingTime:TaskScheduler等待足够资源注册的最大时长,超过该时长仍未获取到符合要求的资源时,作业会被终止。默认值为300秒(5分钟),支持时间单位写法如120min、2h。
  • spark.scheduler.minRegisteredResourcesRatio:作业启动所需的最小资源占比(相对于你提交作业时申请的总资源量),比如设置为0.1代表只要申请的资源有10%可用就可以启动作业,不需要等全部资源到位,可配合超时参数一起使用。
  • spark.deploy.app.timeout:Standalone Master端限制的应用最大存活时长,若集群管理员配置了该参数,超过时长的应用无论是否在运行都会被杀死,需要同步调整该值。

修改方式

方式1:单次作业动态生效(无需重启集群)

直接在spark-submit提交命令中添加对应--conf参数即可,示例如下(设置最长等待时间为2小时):

spark-submit \
  --master spark://<你的Master节点IP>:7077 \
  --deploy-mode cluster \
  --conf spark.scheduler.maxRegisteredResourcesWaitingTime=2h \
  --conf spark.scheduler.minRegisteredResourcesRatio=0.1 \
  --conf spark.deploy.app.timeout=3h \
  --class <你的作业主类全限定名> \
  <你的作业jar包路径>

方式2:集群全局生效(需重启集群)

修改集群所有节点下SPARK_HOME/conf/spark-defaults.conf文件,添加以下配置:

spark.scheduler.maxRegisteredResourcesWaitingTime 2h
spark.scheduler.minRegisteredResourcesRatio 0.1
spark.deploy.app.timeout 3h

配置完成后重启Spark Master和所有Worker节点,后续所有提交的作业都会默认使用该配置。

注意事项

  • 时间配置支持直接写h(小时)、min(分钟)、s(秒)等单位,不需要手动换算为毫秒。
  • 过长的等待时间会导致作业长时间占用Master的调度队列资源,建议结合集群实际负载设置合理的超时阈值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:18:03