Я пытаюсь запустить потоковое искровое словосочетание на Мезосе. Когда я пытаюсь развернуть код в кластере и запущен, файлы jar, перечисленные в файле -jars, не будут скопированы в песочницу. Если я работаю в клиентском режиме, они копируются и мой код запускается. Работает ли -jars с кластером Mesos -deploy?Запуск Spark на Mesos с использованием --jars
Я запускаю Apache Spark 2.0.0-preview и Mesos 0.28.
Диспетчер мезос от Искры бежит вместе с моим хозяином и рабом из Мезоса. Кроме того, 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. Наконец, я могу запустить SparkPi из примера jar, используя тот же синтаксис, что и выше (без -jars), и все работает отлично.
Я забыл упомянуть, что все работает локально в моем ящике. Я предоставляю полный путь к банке в парме jjars. Я попытался использовать HDFS вместо простого файла, и он не добавил их в песочницу. – Crackerman
Это не имеет значения в этом случае ИМО. Думаю, вам придется загружать банки на веб-сервер. Вы работаете в режиме кластера, а затем должны применяться указанные ограничения. Вы можете загружать банки на простой веб-сервер (работает как приложение Docker Marathon), например. https://github.com/tobilg/docker-mini-webserver и сопоставьте папку хоста, содержащую банки ... – Tobi