Искра на Hadoop YARN - исполнитель отсутствует
У меня есть кластер из 3 компьютеров MacOS, работающих под управлением Hadoop и Spark-1.5.2 (хотя с Spark-2.0.0 такая же проблема существует). При использовании "пряжи" в качестве основного URL-адреса Spark я сталкиваюсь со странной проблемой, когда задачи распределяются только на 2 из 3 машин.
На основе информационной панели Hadoop (порт 8088 на главном) ясно, что все 3 узла являются частью кластера. Тем не менее, любая работа Spark, которую я запускаю, использует только 2 исполнителя.
Например, вот вкладка "Executors" длинного запуска примера JavaWordCount: "Batservers" является мастером. Должен быть дополнительный раб "batservers2", но его просто нет.
Почему это может быть?
Обратите внимание, что ни одна из моих конфигураций YARN или Spark (или, в этом отношении, HDFS) не является необычной, за исключением условий для предоставления дополнительной памяти менеджерам ресурсов и узлов YARN.
1 ответ
Примечательно, что все, что нужно, это детальный просмотр справочного сообщения spark-submit, чтобы найти ответ:
ПРЯЖА только:
...
--num-executors NUM Количество исполнителей для запуска (поумолчанию: 2).
Если я укажу --num-executors 3
в моей команде spark-submit используется 3-й узел.