хорошо ли всегда давать параметр spark.yarn.executor.memoryOverhead? - PullRequest
0 голосов
/ 03 марта 2020

У меня есть искровое приложение. Это иногда выходит из строя (один или два раза в месяц) из-за нехватки памяти у исполнителя. Поможет ли предоставление spark.yarn.executor.memoryOverhead?

1 Ответ

1 голос
/ 04 марта 2020

Исполнителю не хватает памяти может происходить из-за:

  • ВЫСОКОЕ СОСТОЯНИЕ
  • НЕПРАВИЛЬНЫЕ ЗАПРОСЫ
  • НЕПРАВИЛЬНАЯ КОНФИГУРАЦИЯ

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

Согласно документации :

spark.yarn.executor.memoryOverhead - это объем памяти вне кучи (в мегабайтах), который должен быть выделен каждому исполнителю. Это память, которая учитывает такие вещи, как издержки ВМ, интернированные строки, другие собственные служебные накладные расходы и т. Д. c. Это имеет тенденцию к росту с размером исполнителя (обычно 6-10%).

Следовательно, в таких случаях, как ваш, обычно рекомендуется увеличивать память исполнителя Spark, а при работе в Yarn рекомендуется также увеличить объем служебной памяти, чтобы избежать проблем с OOM (Out of memory), поскольку объем служебной памяти используется для потоков JVM, внутренние метаданные и т. д. c.

Дайте мне знать, если это поможет !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...