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

如何在Mesos集群模式下通过Spark运行本地Python脚本

解决方案

针对你的问题,结合主从节点的NFS共享环境,有两种可行的方式让Agent节点成功运行Python脚本:

方式一:利用NFS共享直接访问脚本(推荐)

既然主节点与Agent节点通过NFS共享文件,核心是让Mesos跳过文件拉取逻辑,直接使用共享路径:

  1. 验证NFS挂载一致性
    在所有Agent节点上执行以下命令,确认能访问到脚本:

    ls /home/ryneli/test.py
    

    确保输出能显示脚本文件,且ryneli用户对该文件有读权限。

  2. 修改spark-submit命令
    添加spark.mesos.fetch.enabled=false配置,禁用Mesos的Fetcher拉取功能(因为文件已通过NFS在所有节点可用):

    ./bin/spark-submit --deploy-mode cluster                 \
                       --master mesos://master:7077          \
                       --conf spark.master.rest.enabled=true \
                       --conf spark.mesos.fetch.enabled=false \
                       /home/ryneli/test.py
    
  3. 修复脚本shebang行
    将脚本的首行改为标准格式,确保Agent能正确找到Python解释器:

    #!/usr/bin/env python3 -u
    
    print("HIHI")
    

方式二:配置Fetcher正确识别NFS路径

如果需要保留Fetcher功能,可调整脚本路径的传递方式:

  • 确保脚本路径为NFS的统一绝对路径,让Mesos Fetcher能在Agent节点上直接访问。
  • 检查Mesos Agent的启动配置,将sandbox_directory改为绝对路径(错误日志中显示的agent_dir是相对路径,这是导致拉取失败的诱因之一)。

额外检查项

  • 确认Agent节点存在ryneli用户,且该用户对NFS共享目录有读写权限。
  • 检查Mesos Agent日志,确认NFS挂载在Agent节点上正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 19:34:51