我正在尝试在Mesos上运行流式火花wordcount。当我尝试将代码部署到群集并运行时, - jars中列出的jar文件不会被复制到沙箱中。如果我在客户端模式下运行,它们会被复制并且我的代码会运行。 --jars是否适用于Mesos --deploy-mode cluster?
我正在运行Apache Spark 2.0.0预览版和Mesos 0.28。
Spark的mesos调度程序与Mesos的主人和奴隶一起运行。此外,Zookeeper也在运行。火花提交电话如下。
(从$ SPARK_HOME开始)
bin/spark-submit --class my.class.name --master mesos://<ip>:7077 \
--deploy-mode cluster --num-executors 1 --executor-memory 512M \
--total-executor-cores 1 --jars /full/path/jar1.jar,/full/path/jar2.jar \
project.jar parm1 parm2 parm3 parm4
这会导致错误,指出它无法在jar1中找到类。最后,我可以使用与上面相同的语法从示例jar运行SparkPi(没有--jars)并且一切运行正常。
答案 0 :(得分:1)
我认为你必须让你的罐子放在执行者可以到达的地方,见
请注意,传递给spark-submit的jar或python文件应该是Mesos slave可以访问的URI,因为Spark驱动程序不会自动上传本地jar。