0

我有一个 flink 工作(2 个任务管理器),工作并行度为 64,任务槽为 64。

我将其中一个运算符的并行度设置为 16。此运算符(16 个并行度)插槽未均匀分布在两个任务管理器中。它通常需要更高的任务槽,例如一个任务管理器中的 10/11 和另一个任务管理器中的 5/6。 

我正在使用 flink 版本 1.11.2。我尝试添加 cluster.evenly-spread-out-slots: true 但它不起作用。非常感谢任何解决方案

4

1 回答 1

1

我不相信你能做更多的事情。Flink 调度器将尝试将消费者任务与其生产者放在一起,以利用网络堆栈中的优化。(只要两个通信任务在同一个 JVM 中,就使用共享内存而不是 netty。)据我了解,cluster.evenly-spread-out-slots: true实际上只与没有输入首选项的源相关。

通常情况下,降低部分作业的并行度会适得其反,因为它会强制进行网络洗牌(可能会阻止操作员链接),并在任务槽上造成负载偏斜。

于 2021-03-23T08:27:15.387 回答