искра с Hadoop 2.3.0 на Mesos 0.21.0 с ошибкой sh:1: hadoop: not found на ведомом

Я настраиваю искру с помощью Hadoop 2.3.0 на Mesos 0.21.0. когда я пробую искру на ведущем, я получаю эти сообщения об ошибках для stderr ведомого mesos:

ВНИМАНИЕ: ведение журнала до того, как InitGoogleLogging() будет записано в STDERR.

I1229 12:34:45.923665 8571 fetcher.cpp:76] Получение URI «hdfs://10.170.207.41/spark/spark-1.2.0.tar.gz»

I1229 12:34:45.925240 8571 fetcher.cpp:105] Загрузка ресурса из «hdfs://10.170.207.41/spark/spark-1.2.0.tar.gz» в «/tmp/mesos/slaves/20141226-161203- 701475338-5050-6942-S0 / frameworks / 20141229-111020-5050-975338-5050-975338-5050-985-0001 / Executors / 201412261-501203-701475338-5050-6942-S0 / Runs / 8ef30e72-D8CF-4218-8A62-BCCDF673B5AA 1.2.0.tar.gz'

E1229 12:34:45.927089 8571 fetcher.cpp:109] HDFS copyToLocal не удалось: hadoop fs -copyToLocal 'hdfs://10.170.207.41/spark/spark-1.2.0.tar.gz' '/tmp/mesos/slaves/ 20141226-161203-701475338-5050-6942-S0 / Frameworks / 20141229-111020-5050-985338-5050-985338-5050-985-0001 / Executors / 201412261-161203-701475338-5050-6942-S0 / Runs / 8EF30E72- D8CF-4218-8A62- bccdf673b5aa/spark-1.2.0.tar.gz '

ш: 1: хауп: не найдено

Не удалось получить: hdfs://10.170.207.41/spark/spark-1.2.0.tar.gz

Не удалось синхронизироваться с подчиненным (вероятно, он вышел)

Интересно то, что когда я переключаюсь на подчиненный узел и запускаю ту же команду

hadoop fs -copyToLocal 'hdfs://10.170.207.41/spark/spark-1.2.0.tar.gz' '/tmp/mesos/slaves/20141226-161203-701475338-5050-6942-S0/frameworks/20141229-111020 -701475338-5050-985-0001/executors/20141226-161203-701475338-5050-6942-S0/runs/8ef30e72-d8cf-4218-8a62-bccdf673b5aa/spark-1.2.0.tar.gz'

, хорошо пошло.


person fei_che_che    schedule 29.12.2014    source источник
comment
Я проверил поток Hadoop 2.5.0 на Mesos 0.21.0 с ошибкой исполнителя библиотеки 0.0.8, которая не может решить мою проблему   -  person fei_che_che    schedule 29.12.2014
comment
Под каким пользователем работает mesos-slave? У этого пользователя есть hadoop в его PATH и разрешение на выполнение?   -  person Adam    schedule 29.12.2014
comment
это корень, и в его ПУТИ есть хауп   -  person fei_che_che    schedule 29.12.2014
comment
(И у root есть разрешение на выполнение для фактического двоичного файла hadoop?)   -  person Adam    schedule 08.01.2015
comment
У меня была такая же ошибка в логах. Оказалось, что я забыл перезапустить слейв, у которого не был установлен HADOOP_HOME или хауп на пути. Как только я перезапустил мастер и слейв, mesos нашел hadoop.   -  person jlb    schedule 05.02.2015
comment
Спасибо, @jlb. странно, что если запускать mesos-slave из командной строки с указанием HADOOP_HOME, то работает. Однако, если я запущу mesos-slave с помощью сервисной команды, он получит упомянутую мной ошибку.   -  person fei_che_che    schedule 11.02.2015


Ответы (1)


При запуске mesos slave вы должны указать путь к вашей установке hadoop через следующий параметр:

--hadoop_home=/path/to/hadoop

Без этого у меня просто не работало, хотя у меня была настроена переменная среды HADOOP_HOME.

person Tomasz Nieć    schedule 26.04.2015