#apache-flink
#apache-flink
Вопрос:
Я работаю над проектом Flink, который запрашивает много вычислений в каждом операторе. Я не уверен, как мне настроить параллелизм. Похоже, что Flink хотел бы сначала развернуть все экземпляры каждого оператора для первого taskmanger, а затем соответствующим образом развернуть другие параллелизмы для остальных taskmanger.
Такой подход приводит к потере большого количества ресурсов. Например, предположим, что у нас всего 4 таксменеджера. У нас есть операторы A и B, параллелизм равен 2 и 2. И оператор B запрашивает много ресурсов для вычислений. Возможно ли развернуть оператор A в taskmanager 1 и 2 и развернуть оператор B в taskmanger 3 и 4. Это помогает использовать ресурсы. В противном случае операторы A и B будут совместно использовать ресурс в одном и том же taskmanager.
Комментарии:
1. Возможно, вы ищете параметр конфигурации
cluster.evenly-spread-out-slots: true
. Эта стратегия пытается равномерно распределить слоты по всем доступным исполнителям задач.2. @DavidAnderson Я пробовал это. Но это действительно помогает. Мое приложение работает в Flink 1.11. Все подзадачи переходят к одному TM, и только подзадачи, которые имеют более 1 параллелизма, переходят к другому TM.