Я использую кластер Spark в конфигурации 1 MasterNode, 3 WorkerNode с использованием aws emr и YARN-client, причем MasterNode является клиентским компьютером.Все 4 узла имеют 8 ГБ памяти и 4 ядра в каждом.Учитывая эту настройку оборудования, я установил следующее:
spark.executor.memory = 5G
spark.executor.cores = 3
spark.yarn.executor.memoryOverhead = 600
При такой конфигурации будет ли ожидаемый Total Memory
, распознаваемый Yarn ResourceManager, равным 15 ГБ?Это показывает 18 ГБ.Я видел только использование пряжи до 15 ГБ при запуске приложений Spark.Это 15 ГБ из spark.executor.memory * 3 nodes
?
Я хочу предположить, что общая память YARN рассчитывается как spark.executor.memory + spark.yarn.executor.memoryOverhead
, но я нигде не могу найти это документированное.Как правильно найти точное число?
И я должен иметь возможность увеличить значение с spark.executor.memory
до 6G
, верно?Я получил ошибки в прошлом, когда он был установлен таким образом.Будут ли другие конфигурации, которые мне нужно установить?
Edit - так что похоже, что значение workerNodes для yarn.scheduler.maximum-allocation-mb
равно 6114
или 6 ГБ.Это значение по умолчанию, которое EMR устанавливает для типа экземпляра.И поскольку 6 ГБ * 3 = 18 ГБ, это, вероятно, имеет смысл.Я хочу перезапустить Yarn и увеличить это значение с 6 ГБ до 7 ГБ, но не могу, поскольку этот кластер используется, поэтому я думаю, что мой вопрос остается в силе.