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

bash脚本执行spark-submit命令报错的问题排查咨询

Spark-submit脚本错误修复方案

问题根源

你当前的写法错误地将选项与参数用引号包裹成了单个字符串,比如"--master $ARG_MASTER"。bash执行时会把这个整体作为spark-submit的一个参数,导致spark识别到的是--master yarn这个完整的“未知选项”,而非--master和yarn两个独立的参数,这就是报错的核心原因。

修正后的脚本

将每个选项与对应参数拆分开,仅对可能包含特殊字符/空格的参数部分加引号:

spark-submit \
    --master "$ARG_MASTER" \
    --name "$ARG_NAME" \
    --queue "$ARG_QUEUE" \
    --conf "spark.shuffle.service.enabled=$ARG_SERV_ENABLED" \
    --conf "spark.dynamicAllocation.enabled=$ARG_DYNAMICALLOCATION_ENABLED"

关键说明

  • 选项(如--master)和参数(如$ARG_MASTER)必须作为独立的参数传递给spark-submit,不能合并成一个字符串。
  • 给参数部分加引号(如"$ARG_NAME")是为了兼容参数包含空格或特殊字符的场景,避免bash解析出错。
  • --conf的键值对整体加引号是安全写法,防止参数中的特殊字符破坏命令结构。
  • 修正后的脚本执行后会生成你期望的命令格式:spark-submit --master yarn --name my-testapp --queue root.dev --conf spark.shuffle.service.enabled=true --conf spark.dynamicAllocation.enabled=true

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 16:05:34