Память Spark Driver и память Application Master - PullRequest
0 голосов
/ 18 мая 2018

Правильно ли я понимаю документацию для режима клиента?

  1. Режим клиента отличается от режима кластера, в котором драйвер запускается в мастере приложения?
  2. В режиме клиента драйвер и мастер приложения являются отдельными процессами и, следовательно, spark.driver.memory + spark.yarn.am.memory должно быть меньше памяти машины?
  3. В режиме клиента память драйвера не включена в настройку основной памяти приложения?

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

клиентский режим отличается от кластерного режима, когда драйвер работает в мастере приложения?

Да , когда приложение Spark развернуто поверхYARN в

  • в режиме клиента , драйвер будет работать на компьютере, на который было отправлено приложение , и машина должна быть доступна в сети до момента приложениязавершается.
  • Режим кластера , драйвер будет запущен в главном узле приложения (по одному на одно искровое приложение), и машина, отправляющая приложение, не должна находиться в сети после отправки

Режим клиента

Client mode

Режим кластера

Cluster mode

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

Ссылки на изображения и контент:

В клиентском режиме драйвер и мастер приложенияявляются отдельными процессами и, следовательно, spark.driver.memory + spark.yarn.am.memory должно быть меньше памяти машины?

Нет , В режим клиента ,драйвер и AM являются отдельными процессами и существуют в разных машинах , поэтому объединять память не нужно, но spark.yarn.am.memory + some overhead должно быть меньше, чем память контейнера YARN (yarn.nodemanager.resource.memory-mb).Если оно превысит YARN, Resource Manager уничтожит контейнер.

В режиме клиента память драйвера не включена в настройку основной памяти приложения?

Здесь spark.driver.memory должно быть меньше доступной памяти на машине, откуда будет запускаться приложение spark.

Но, В кластерном режиме использовать spark.driver.memory вместо spark.yarn.am.memory.

spark.yarn.am.memory: 512 м (по умолчанию)

Объем памяти, используемый для мастера приложений YARN в режиме клиента, в том же формате, что и строки памяти JVM (например, 512m, 2g).В режиме кластера используйте spark.driver.memory вместо этого.Используйте строчные суффиксы, например, k, m, g, t и p для киби, меби, гиби-, тиби и пебибитов соответственно.

Проверьте подробнее об этомсвойства здесь

0 голосов
/ 18 мая 2018

В режиме клиента драйвер запускается непосредственно в программе spark-submit, то есть в клиентской программе.Мастер приложения должен быть создан на любом из узлов в кластере.Значение spark.driver.memory (+ накладные расходы памяти) должно быть меньше памяти компьютера.

В режиме кластера драйвер работает внутри мастера приложения на любом узле кластера.

https://blog.cloudera.com/blog/2014/05/apache-spark-resource-management-and-yarn-app-models/

...