Кластер Hadoop YARN / Spark и RAM-диски

Поскольку мои вычислительные задачи требуют быстрого дискового ввода-вывода, я заинтересован в установке больших RAM-дисков на каждом рабочем узле в кластере YARN, на котором работает Spark, и поэтому мне интересно, как менеджер кластера YARN обрабатывает память, занимаемую таким RAM-диском.

Если бы мне нужно было выделить 32 ГБ для RAM-диска на каждой машине с RAM 128 ГБ, например, знал бы менеджер кластера YARN, как распределять RAM, чтобы избежать чрезмерного выделения памяти при выполнении задач (в этом случае YARN ОЗУ для реквизированные задачи, или максимум только 96гб)?

Если да, то есть ли способ указать диспетчеру кластера YARN, что RAM-диск присутствует и, следовательно, определенный раздел RAM недоступен для YARN? Будет ли Spark знать об этих ограничениях?


person Han Altae-Tran    schedule 30.06.2018    source источник


Ответы (1)


В конфигурациях Spark вы можете установить конфигурации драйверов и исполнителей, такие как ядра и объем выделяемой памяти. Более того, когда вы используете пряжу в качестве менеджера ресурсов, она поддерживает некоторые дополнительные конфигурации, которые могут помочь вам лучше управлять ресурсами кластера. «spark.driver.memoryOverhead» или «spark.yarn.am.memoryOverhead», который представляет собой объем пространства вне кучи со значением по умолчанию

AM-память * 0,10, минимум 384

для получения дополнительной информации перейдите по ссылке.

person Amin Heydari Alashti    schedule 30.06.2018
comment
Но разве это не память AM для менеджера приложений YARN? Я хочу убедиться, что и YARN, и Spark знают, что они не могут касаться этого раздела памяти, чтобы не сбрасывать RAM-диск. - person Han Altae-Tran; 01.07.2018
comment
да, это конфигурация пряжи. Но что вы имеете в виду под сбросом RAM-диска? - person Amin Heydari Alashti; 01.07.2018
comment
Если у меня установлен RAM-диск (занимает 32 ГБ), будет ли YARN выделять эти 32 ГБ ОЗУ для контекста Spark, тем самым выталкивая RAM-диск из ОЗУ? - person Han Altae-Tran; 01.07.2018