2015-11-29 5 views
3

Я пытаюсь запустить приложения Spark с кластерным режимом Mesos. (У меня работает клиентский режим, но все равно хочется попробовать режим кластера)Режим кластера Spark + Mesos, который загружает банку?

Я запустил spark-mesos-dispatcher на главном узле Mesos.

Когда я представляю сборку на локальном пути /tmp/assembly.jar с помощью следующей команды,

bin/spark-submit --master mesos://dispatcher:7077 --deploy-mode cluster --class com.example.Example /tmp/assembly.jar 

Это терпит неудачу, потому что файл /tmp/assembly.jar не существует на Mesos подчиненных узлов.

I1129 10:47:43.839771 5884 fetcher.cpp:414] Fetcher Info: {"cache_directory":"\/tmp\/mesos\/fetch\/slaves\/9d725348-931a-48fb-96f7-d29a4b09f3e8-S9\/deploy","items":[{"action":"BYPASS_CACHE","uri":{"extract":true,"value":"\/tmp\/assembly.jar"}}],"sandbox_directory":"\/var\/lib\/mesos\/slaves\/9d725348-931a-48fb-96f7-d29a4b09f3e8-S9\/frameworks\/9d725348-931a-48fb-96f7-d29a4b09f3e8-0291\/executors\/driver-20151129104742-0008\/runs\/31bf5840-226e-4b87-ae76-d14bd2f17950","user":"user"} 
I1129 10:47:43.840710 5884 fetcher.cpp:369] Fetching URI '/tmp/assembly.jar' 
I1129 10:47:43.840721 5884 fetcher.cpp:243] Fetching directly into the sandbox directory 
I1129 10:47:43.840731 5884 fetcher.cpp:180] Fetching URI '/tmp/assembly.jar' 
I1129 10:47:43.840737 5884 fetcher.cpp:160] Copying resource with command:cp '/tmp/assembly.jar' '/var/lib/mesos/slaves/9d725348-931a-48fb-96f7-d29a4b09f3e8-S9/frameworks/9d725348-931a-48fb-96f7-d29a4b09f3e8-0291/executors/driver-20151129104742-0008/runs/31bf5840-226e-4b87-ae76-d14bd2f17950/assembly.jar' 
cp: cannot stat `/tmp/assembly.jar': No such file or directory 
Failed to fetch '/tmp/assembly.jar': Failed to copy with command 'cp '/tmp/assembly.jar' '/var/lib/mesos/slaves/9d725348-931a-48fb-96f7-d29a4b09f3e8-S9/frameworks/9d725348-931a-48fb-96f7-d29a4b09f3e8-0291/executors/driver-20151129104742-0008/runs/31bf5840-226e-4b87-ae76-d14bd2f17950/assembly.jar'', exit status: 256 
Failed to synchronize with slave (it's probably exited) 

В случае режима ПРЯЖИ кластера, Spark's YARN client implementation will upload the application jar to HDFS so that the driver and all executors have access to the jar, но я не смог найти такой код в RestSubmissionClient, который используется в режиме кластера Mesos или Standalond.

Кто загружает в этом случае? или мне нужно вручную разместить сборку приложения где-нибудь через HTTP-URI?

ответ

0

С моей точки зрения вы можете использовать метод addJar() для добавления локального (к приложению драйвера) пути JAR-файла, который затем будет распространен на узлы-исполнители (в клиентском режиме).

Как вы заявляете, что хотите использовать режим кластера, я бы предположил, что вы посмотрите на проект Spark Jobserver, который должен облегчить работу приложений Spark на Mesos, чем со встроенными инструментами.

+1

Спасибо за предложения, но я знаю, что они делают, и вы не ответили на мой вопрос. Я должен отправить этот вопрос в список рассылки искровых пользователей. – lyomi

Смежные вопросы