Конфигурация памяти клиента Spark - PullRequest
0 голосов
/ 21 ноября 2019

Я пытаюсь запустить несколько клиентов Spark на Airflow (планировщик ETL).

Я работаю в кластерном режиме на YARN, поэтому ApplicationMaster Executor и Driver все работают на executor в контексте Yarn. Тем не менее, мой клиент Spark, который выполняет выборку процесса и отслеживает состояние, работает в airflow worker.

Проблема заключается в том, что клиент Spark занимает много памяти ~ 500 МБ на задание. С точки зрения исполнителей или драйверов это может звучать не так уж и много, но для роли спарк-клиента это звучит безумно.

У меня вопрос: как настроить / манипулировать требованиями к памяти / процессору спарк-клиента, можно ли ограничить его интервалы? ? можно ли ограничить его память флагами?

1 Ответ

0 голосов
/ 03 декабря 2019

Найти ответ через несколько дней. Приятно видеть, что сообщество Stack отказалось голосовать без причины по законному вопросу, на который сообщество не ответило, но я в долгу перед другими замечательными участниками stackoverflow.

Так что в коде spark он делает различие, если он работаетв автономном режиме или режиме кластера. Для автономного режима он устанавливает значение по умолчанию -Xmx 1G, а в режиме кластера он не имеет значения по умолчанию, но пытается прочитать параметры java из переменной окружения с именем SPARK_SUBMIT_OPTS.

Так что если вы хотите установить какие-либо параметры java для клиентский процесс Java только использовать SPARK_SUBMIT_OPTS

...