Как увеличить размер памяти Flink - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь запустить диспетчер задач «Работа в Flink» и получаю следующее исключение:

Initializing the input processing failed: Too little memory provided to sorter to perform task. Required are at least 12 pages. Current page size is 32768 bytes.

Я установил размер кучи в диспетчере задач и диспетчере заданий с помощью flink-conf.yml, что-нибудь еще, что я должен изменить, чтобы увеличить память?

taskmanager.heap.size: 4096m
taskmanager.memory.size: 4096m
jobmanager.heap.size: 2048m

1 Ответ

0 голосов
/ 20 декабря 2018

Сообщение об ошибке указывает на то, что сортировщику не хватает страниц памяти.Причина в том, что доступной управляемой памяти недостаточно.Существует несколько способов решения этой проблемы:

  1. Увеличение доступной памяти для TaskManager с помощью taskmanager.heap.size
  2. Увеличение доли управляемой памяти, взятой из taskmanager.heap.size via taskmanager.memory.fraction (по умолчанию 0,7)
  3. Уменьшить размер страницы с помощью taskmanager.memory.segment-size
  4. Уменьшить количество слотов на TaskManager, так как уменьшенный параллелизм на TM уменьшитсяколичество потребителей памяти на ТМ (операторы получают большую долю доступной памяти)

Если вы используете исключительно пакетную загрузку, то вам также следует активировать taskmanager.memory.preallocate: true, что позволит выделить памятьво время запуска.Обычно это происходит быстрее, поскольку снижает нагрузку на сборщик мусора.

Еще один комментарий относительно taskmanager.memory.size: это значение всегда должно быть меньше или равно taskmanager.heap.size, поскольку оно указывает, сколько памяти из общего пространства кучи будетиспользоваться для управляемой памяти.Если этот параметр не указан, Flink займет часть доступной памяти кучи для управляемой памяти (указывается с помощью taskmanager.memory.fraction).

...