2014-10-27 3 views
5

Я пытаюсь настроить Apache-Spark на небольшой автономный кластер (1 мастер-узел и 8 подчиненных узлов). Я установил «предварительно построенную» версию искры 1.1.0, построенную поверх Hadoop 2.4. Я установил без пароля ssh между узлами и экспортировал несколько необходимых переменных окружения. Одна из этих переменных (что, вероятно, наиболее актуально) является:apache spark, «не удалось создать какой-либо локальный каталог»

export SPARK_LOCAL_DIRS=/scratch/spark/ 

У меня есть небольшой кусок кода Python, который я знаю, работает с Искрой. Я могу запустить его локально - на моем рабочем столе, а не в кластере - с:

$SPARK_HOME/bin/spark-submit ~/My_code.py 

Я скопировал код в кластер. Затем я начинаю все процессы от головного узла:

$SPARK_HOME/sbin/start-all 

И каждый из рабов перечислен как работает как процесс ххххх.

Если я после этого пытаться запустить свой код с той же командой выше:

$SPARK_HOME/bin/spark-submit ~/MY_code.py 

я получаю следующее сообщение об ошибке:

14/10/27 14:19:02 ERROR util.Utils: Failed to create local root dir in /scratch/spark/. Ignoring this directory. 
14/10/27 14:19:02 ERROR storage.DiskBlockManager: Failed to create any local dir. 

У меня есть разрешения, установленные на /scratch и /scratch/spark на 777 Любая помощь очень ценится.

ответ

3

Проблема заключалась в том, что я не понимал, что главный узел также нуждался в каталоге с нуля. В каждом из моих 8 рабочих узлов я создал локальный каталог/scratch/spark, но этого не делал на главном узле. При добавлении каталога исправлена ​​проблема.

+0

У меня также есть аналогичная проблема, у меня есть настройка Ambari, Можете ли вы сообщить мне, как определить, какой главный узел? –

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