如何启用spark mesos docker executor?

3duebb1j  于 2021-06-21  发布在  Mesos
关注(0)|答案(1)|浏览(265)

我正在研究mesos和spark之间的集成。现在,我可以在docker中启动SlaveMosDispatcher;我还喜欢在mesos docker中运行spark executor。我为它做了以下配置,但是我得到了一个错误;有什么建议吗?
配置:
spark:conf/spark-defaults.conf

spark.mesos.executor.docker.image        ubuntu
spark.mesos.executor.docker.volumes      /usr/bin:/usr/bin,/usr/local/lib:/usr/local/lib,/usr/lib:/usr/lib,/lib:/lib,/home/test/workshop/spark:/root/spark
spark.mesos.executor.home                /root/spark

# spark.executorEnv.SPARK_HOME             /root/spark

spark.executorEnv.MESOS_NATIVE_LIBRARY   /usr/local/lib

注意:spark安装在/home/test/workshop/spark中,并且安装了所有依赖项。
将sparkpi提交给调度程序后,驱动程序作业将启动,但失败。错误是:

I1015 11:10:29.488456 18697 exec.cpp:134] Version: 0.26.0
I1015 11:10:29.506619 18699 exec.cpp:208] Executor registered on slave b7e24114-7585-40bc-879b-6a1188cb65b6-S1
WARNING: Your kernel does not support swap limit capabilities, memory limited without swap.
/bin/sh: 1: ./bin/spark-submit: not found

有人知道如何在dockerMap/设置spark home吗?

shstlldc

shstlldc1#

我认为您在这里看到的问题是由于容器的当前工作目录不是spark的安装位置。为spark指定用于mesos的docker映像时,它希望容器的默认工作目录在其中 $SPARK_HOME 可以找到的地方。/bin/spark submit。
你可以在这里看到这个逻辑。
看起来您无法通过spark配置本身来配置工作目录,这意味着您需要在spark配置之上构建一个自定义映像 ubuntu 这只不过是一个 WORKDIR /root/spark .

相关问题