Spark: использование параметра драйвера-памяти - PullRequest
0 голосов
/ 09 ноября 2018

Когда я отправляю эту команду, моя работа завершилась с ошибкой «Контейнер работает за пределами физической памяти».

spark-submit --master yarn --deploy-mode cluster --executor-memory 5G --total-executor-cores 30 --num-executors 15 --conf spark.yarn.executor.memoryOverhead=1000

Но при добавлении параметра: - память драйвера до 5 ГБ (или выше), задание завершается без ошибок.

spark-submit --master yarn --deploy-mode cluster --executor-memory 5G --total executor-cores 30 --num-executors 15 --driver-memory 5G --conf spark.yarn.executor.memoryOverhead=1000

Информация о кластере: 6 узлов с 120 ГБ памяти. Минимальная емкость контейнера YARN: 1 ГБ

Вопрос: в чем разница в использовании этого параметра или нет?

1 Ответ

0 голосов
/ 21 ноября 2018

Если увеличение памяти драйвера помогает вам успешно завершить работу, то это означает, что в драйвер поступает много данных от исполнителей. Как правило, программа-драйвер отвечает за сбор результатов от каждого исполнителя после выполнения задач. Итак, в вашем случае кажется, что увеличение памяти драйвера помогло сохранить больше результатов обратно в память драйвера.

Если вы прочтете некоторые моменты из памяти исполнителя, памяти драйвера и того, как драйвер взаимодействует с исполнителями, тогда вы получите более ясное представление о ситуации, в которой вы находитесь.

Надеюсь, это поможет в некоторой степени.

...