У меня есть кластер из 3 узлов. Запуск обоих Hadoop 2.4.1 и Spark 1.1.0 (версия, скомпилированная для запуска на Hadoop). Когда я запускаю свое приложение (которое читает и записывает в HDFS результат SQL-запроса Spark) в режиме «пряжа-клиент», оно работает отлично, но когда я запускаю в пряжи-кластере, я замечаю, что только сервер имеет исполнителей.Задачи искры, выполняемые только на сервере в режиме кластеров пряжи
Я вижу приложение в
http://<server>:8088/cluster
нажмите на нее, чтобы увидеть детали задачи, время выполнения, и т.д., и откройте Спарк Application Master URL отслеживания:
http://<server>:8088/proxy/application_id/
В этом URL я обратите внимание, что на вкладке ИСПОЛНИТЕЛИ у меня только есть исполнители из namenode
Вот как я запускаю свое приложение
$ bin/spark-submit --class "categoriasFacturas" --master yarn-cluster --num-executors 3 --driver-memory 512m --executor-memory 512m target/scala-2.10/merge-categoria_2.10-1.0.jar
Ведомые файлы как в искры, так и в hadoop имеют те же 3 узла, которые указаны в списке, сервер и другие 2 машины. HDFS, по-видимому, хорошо сконфигурирован для
http://<server>:50070/dfshealth.html
Я вижу, что емкость DFS представляет собой объединенный размер трех машин. А в живых узлах есть 3 машины.
Как я могу убедиться, что рабочая нагрузка приложения разделена на узлы кластера?
P.S: Проводка всех файлов конфигурации загромождает вопрос, поэтому, пожалуйста. Если вам нужна дополнительная информация, пожалуйста, спросите, и я буду комментировать.
Я делаю правильную конфигурацию, как вы сказали выше, но она все еще работает только на одном узле, знаете ли вы, почему? – anunixercoder