Равномерно распределяйте слоты задач между менеджерами задач flink

У меня есть задание flink (2 диспетчера задач) с параллелизмом заданий 64 и слотом задач 64.

У меня для одного из операторов установлено значение параллелизма 16. Слоты этого оператора (16 параллелизма) не распределяются равномерно между двумя диспетчерами задач. Часто это занимает более высокие слоты задач, такие как 10/11 в одном диспетчере задач и 5/6 в другом диспетчере задач.

Я использую флинк версии 1.11.2. Я попытался добавить cluster.evenly-spread-out-slots: true, но это не сработало. Любое решение приветствуется


person Vicky    schedule 23.03.2021    source источник


Ответы (1)


Я не верю, что ты можешь что-то еще сделать. Планировщик Flink будет пытаться совмещать задачи потребителей с их производителями, чтобы использовать оптимизацию в сетевом стеке. (Общая память используется вместо netty, когда две взаимодействующие задачи находятся в одной JVM.) Насколько я понимаю, cluster.evenly-spread-out-slots: true действительно актуален только для источников, у которых нет параметров ввода.

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

person David Anderson    schedule 23.03.2021