如何在mesos/docker上使用spark提交的本地应用程序脚本?

myzjeezk  于 2021-06-26  发布在  Mesos
关注(0)|答案(0)|浏览(239)

我在用 spark-submit 在“cluster”模式下,使用python脚本对运行在mesos上的spark集群执行,并在 spark.mesos.executor.docker.image .
我的脚本文件已经烘焙到docker图像中(比如在path中) /app/script.py ),所以我不想在执行之前使用spark submit的特性通过http下载脚本。
每https://spark.apache.org/docs/latest/submitting-applications.html#advanced-依赖关系管理通过将应用程序脚本指定为 local: url,例如。 spark-submit [...options...] local:/app/script.py . 但是这没有起作用,我在mesos(spark-driver任务的stderr,由spark-dispatcher框架调度)上看到了如下错误:

I0727 20:31:50.164263  9207 fetcher.cpp:533] Fetcher Info: {"cache_directory":"\/tmp\/mesos\/fetch\/root","items":[{"action":"BYPASS_CACHE","uri":{"cache":false,"extract":true,"value":"\/app\/script.py"}}],"sandbox_directory":"\/data\/mesos\/slaves\/GUID\/frameworks\/GUID\/executors\/driver-TIMESTAMP\/runs\/GUID","user":"root"}
I0727 20:31:50.170289  9207 fetcher.cpp:444] Fetching URI '/app/script.py'
I0727 20:31:50.170361  9207 fetcher.cpp:285] Fetching directly into the sandbox directory
I0727 20:31:50.170413  9207 fetcher.cpp:222] Fetching URI '/app/script.py'
cp: cannot stat ‘/app/script.py’: No such file or directory
E0727 20:31:50.174051  9207 fetcher.cpp:579] EXIT with status 1: Failed to fetch '/app/script.py': Failed to copy '/app/script.py': exited with status 1
s 1

浏览之后https://spark.apache.org/docs/latest/running-on-mesos.html,我猜是 local: 路径由“mesosclusterdispatcher”解释,它是一个后台进程,为spark驱动程序进程(使用我的自定义spark executor docker映像)旋转一个容器。由于此调度器本身不在自定义docker映像/容器中运行,因此它找不到该文件。
有没有其他方法告诉spark submit不要下载应用程序脚本,只使用docker映像中已经存在的脚本?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题