Spark: контейнер загружен, но работа не начинается - PullRequest
0 голосов
/ 26 мая 2020

У меня есть искровое задание, которое запускается хорошо, но все контейнеры исполнителя показывают:

INFO YarnAllocator: Received 1 containers from YARN, launching executors on 0 of them.

И задание mapreduce выглядит так:

>>> Invoking Shell command line now >>

Stdoutput spark.driver.cores is set but does not apply in client mode.
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat
Heart beat

И оно не начинает работать. Я попытался уменьшить значение spark.executor.instances до 1, и он работает, но когда я возвращаюсь к 4, он зависает примерно так.

Я думаю, что это проблема конфигурации, что мне делать? Моя конфигурация:

spark.driver.cores=1
spark.driver.memory=2g
spark.yarn.am.cores=1
spark.yarn.am.memory=4096m
spark.executor.instances=4
spark.executor.cores=4
spark.executor.memory=2g

1 Ответ

0 голосов
/ 26 мая 2020

Я думаю, вам следует проверить, может ли искровый кластер нормально выполнять простую работу, например:

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
--driver-memory 1g \
--executor-memory 1g \
--executor-cores 1 \
examples/jars/spark-examples*.jar \
10
...