Flink: количество менеджеров, связанных с количеством nodeManagers на пряже - PullRequest
0 голосов
/ 14 сентября 2018

Я использую режим «Выполнить одно задание Flink на YARN», чтобы запустить задание Flink на Yarn, команда выглядит следующим образом: ./bin/flink run -m yarn-cluster -yn 5 ./examples/batch/WordCount.jar

Проблема:

  1. Независимо от того, как я изменяю параметры: '-yn' (-yn 2 / -yn 3 / -yn 4....), кластер пряжи создает только 1 TaskManager и 1 JobManager для моей работы.Мой кластер пряжи имеет только 3 узла (один resourceManager, два nodeManager), и я думаю, что клиент пряжи flink может обнаружить, что существует только два nodeManager, поэтому клиент создает только два менеджера, один из которых является jobmanager, а другой - taskmanager.

  2. Моя версия flink - 1.6.

Количество менеджеров связано с количеством nodeManager на пряже?

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Я думаю, что нашел причину. «Запуск одного задания Flink в режиме YARN» аналогичен «режиму пряжи», при котором мигание сначала создает jobManager, а затем отправляет задание в jobmanager.

Таким образом, у нас есть два важных параметра: -p (параллелизм) и -ys (слоты). Если p равно 6, а количество слотов равно 2, то кластер создаст 3 (6/2) TaskManager, параметр - не эффективен. Значение параллелизма по умолчанию равно 1, поэтому независимо от того, какой параметр я установил, кластер создает для меня только один taskManager.

0 голосов
/ 15 сентября 2018

С помощью -yn вы указываете количество контейнеров YARN для использования. Каждый контейнер YARN будет иметь Flink TaskManager. Таким образом, количество TaskManager не связано с количеством YARN NodeManager.

Вы уверены, что достаточно памяти и vCores для запуска в общей сложности 6 контейнеров (1 JobManager и 5 TaskManager)? Если да, то что в журналах говорится о количестве TaskManager, слотах и ​​параллелизме при запуске задания?

...