Я пытаюсь настроить Apache-Spark на небольшом автономном кластере (1 главный узел и 8 подчиненных узлов). Я установил «предустановленную» версию Spark 1.1.0, построенную поверх Hadoop 2.4. Я установил SSH без пароля между узлами и экспортировал несколько необходимых переменных среды. Одна из этих переменных (которая, вероятно, наиболее актуальна):
export SPARK_LOCAL_DIRS=/scratch/spark/
У меня есть небольшой фрагмент кода Python, который, как я знаю, работает со Spark. Я могу запустить его локально - на моем рабочем столе, а не в кластере - с помощью:
$SPARK_HOME/bin/spark-submit ~/My_code.py
Скопировал код в кластер. Затем я запускаю все процессы с головного узла:
$SPARK_HOME/sbin/start-all
И каждое из подчиненных устройств указано как запущенное как процесс xxxxx.
Если я затем попытаюсь запустить свой код с помощью той же команды выше:
$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. Любая помощь приветствуется.