2016-04-28 2 views
0

Я использую Спарк 1.6.1, 2.6.4 и Hadoop Mesos 0,28 на Debian 8.Почему работа Spark не срабатывает на Mesos с «hadoop: not found»?

При попытке представить работу кластера Mesos раб терпит неудачу следующее в журнале Stderr через spark-submit:

I0427 22:35:39.626055 48258 fetcher.cpp:424] Fetcher Info: {"cache_directory":"\/tmp\/mesos\/fetch\/slaves\/ad642fcf-9951-42ad-8f86-cc4f5a5cb408-S0\/hduser","items":[{"action":"BYP$ 
I0427 22:35:39.628031 48258 fetcher.cpp:379] Fetching URI 'hdfs://xxxxxxxxx:54310/sources/spark/SimpleEventCounter.jar' 
I0427 22:35:39.628057 48258 fetcher.cpp:250] Fetching directly into the sandbox directory 
I0427 22:35:39.628078 48258 fetcher.cpp:187] Fetching URI 'hdfs://xxxxxxx:54310/sources/spark/SimpleEventCounter.jar' 
E0427 22:35:39.629243 48258 shell.hpp:93] Command 'hadoop version 2>&1' failed; this is the output: 
sh: 1: hadoop: not found 
Failed to fetch 'hdfs://xxxxxxx:54310/sources/spark/SimpleEventCounter.jar': Failed to create HDFS client: Failed to execute 'hadoop version 2>&1'; the command was e$ 
Failed to synchronize with slave (it's probably exited) 
  1. Моего файл Jar содержит Hadoop 2.6 двоичных файлов
  2. путь к искровому исполнителю/двоичный через hdfs:// ссылки

Мои задания не отображаются на вкладке framework, но они отображаются в драйвере со статусом «queued», и они просто сидят там, пока я не выключу службу spark-mesos-dispatcher.sh.

+0

Вы настроили 'hadoop_home' на slave-устройства mesos? Кажется, он не может найти хаос дома на рабах мезо! – avr

+0

Существует аналогичная [проблема] (https://issues.apache.org/jira/browse/MESOS-4852) на JIRA Мезоса. Проверьте, установлен ли 'curl' на вашем компьютере (-ях) – Tobi

+0

. Как вы« искра-отправляете », т. Е. Можете ли вы показать всю командную строку? –

ответ

0

У меня была очень похожая ошибка, и я понял, что проблема в том, что hadoop_home не был установлен в агенте мезоса. я добавил в/и т.д./по умолчанию/Mesos-ведомому (путь может отличаться от вашей установки) на каждый Mesos-ведомый следующей строки: MESOS_hadoop_home="/path/to/my/hadoop/install/folder/"

EDIT: Hadoop должен быть установлен на каждом подчиненном, пути/к/my/haoop/install/folder является локальным путем