Я пытаюсь запустить приложения 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?
Спасибо за предложения, но я знаю, что они делают, и вы не ответили на мой вопрос. Я должен отправить этот вопрос в список рассылки искровых пользователей. – lyomi