Не все узлы используются в кластере Spark Standalone
Я создал Spark Standalone Cluster с двумя виртуальными машинами.
На 1-й виртуальной машине (8 ядер, 64 ГБ памяти) я запустил мастер вручную, используя командуbin/spark-class org.apache.spark.deploy.master.Master
,
Во 2-й виртуальной машине (8 ядер, 64 ГБ памяти) я запускал slave вручную, используяbin/spark-class org.apache.spark.deploy.worker.Worker spark://<hostname of master>:7077
,
Затем в 1-й виртуальной машине я также запустил slave с помощью вышеуказанной команды slave. На рисунке ниже видно, что как работники, так и хозяин запущены и живут.
Но когда я запускаю свои приложения Spark, запускается только работник на второй виртуальной машине (worker-20160613102937-10.0.37.150-47668
). Рабочий 1-й ВМ (worker-20160613103042-10.0.37.142-52601
) не работает Смотрите картинку ниже
Я хочу, чтобы оба приложения использовались в моих приложениях Spark. Как это может быть сделано?
РЕДАКТИРОВАТЬ: См. Это изображение резюме исполнителя, где исполнители, соответствующие работнику в 1-й виртуальной машине, потерпели неудачу.
Когда я нажимаю на любой stdout
или же stderr
, это показывает ошибку invalid log directory
, Смотрите картинку ниже
1 ответ
Ошибка устранена. Spark не удалось создать каталог журналов на 1-й виртуальной машине. Пользователь, от которого я отправлял задание Spark, не имел разрешения на создание файла по пути /usr/local/spark
, Просто изменив права на чтение / запись каталога (chmod -R 777 /usr/local/spark
) сделал свое дело.