Как оптимально установить свойства искрового драйвера в YARN - PullRequest
0 голосов
/ 23 января 2019

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

Вариант использования:

У меня есть искровой кластер с 1 ведущим и 2 подчиненными

master : r5d xlarge - 8 vcore, 32GB
slave  : r5d xlarge - 8 vcore, 32GB

Я использую Apache Zeppelin для запуска запросов на кластере искр.Интерпретатор Spark настроен с использованием свойств, предоставляемых Zeppelin.Я использую spark 2.3.1 , работающий на YARN .Я хочу создать 4 интерпретатора, чтобы 4 пользователя могли параллельно использовать этот кластер.

Конфигурация 1:

spark.submit.deployMode client
spark.driver.cores  7
spark.driver.memory 24G
spark.driver.memoryOverhead 3072M
spark.executor.cores    1
spark.executor.memory   3G
spark.executor.memoryOverhead   512M
spark.yarn.am.cores 1
spark.yarn.am.memory    3G
spark.yarn.am.memoryOverhead    512M

Ниже приведен пользовательский интерфейс искрового исполнителя:

enter image description here

Конфиг 2:

spark.submit.deployMode client
spark.driver.cores  7
spark.driver.memory 12G
spark.driver.memoryOverhead 3072M
spark.executor.cores    1
spark.executor.memory   3G
spark.executor.memoryOverhead   512M
spark.yarn.am.cores 1
spark.yarn.am.memory    3G
spark.yarn.am.memoryOverhead    512M

Ниже приведен искровый исполнительПользовательский интерфейс:

enter image description here

Вопросы:

  1. Почему размер контейнера драйвера0?
  2. Рассчитана ли доля spark.memory.fraction (spark.driver.memory-300) * 0,6?Если так, то почему это не точно?(14,22, 7,02 соответственно)
  3. Почему размер контейнера исполнителя 3,8 ГБ?Согласно моей конфигурации, это должно быть 3G + 512M = 3,5 ГБ.Этой проблемы не было с искрой 2.1
  4. Нет доступных VCores для YARN - 8 на узел.Как это возможно, поскольку AWS предоставляет vCPU со своими экземплярами?Следовательно, я должен получить только 4 VCores в соответствии с AWS.https://aws.amazon.com/ec2/instance-types/r5/
  5. Если я хочу использовать 4 переводчика, должен ли я распределить 32 ГБ мастера одинаково для всех переводчиков?

Драйвер:

spark.driver.cores  2
spark.driver.memory 7G
spark.driver.memoryOverhead 1024M  
...