将操作员并行度设置为大于默认并行度时,Flink任务槽分布不均匀

时间:2019-03-26 16:36:14

标签: apache-flink flink-streaming

我正在包含3个任务管理器(在3个Kubernetes容器顶部)的集群上运行Flink作业。 Job的默认并行度为9,其中一个运算符设置为并行度18。 作业的任务槽数设置为18(最大并行度值)。

我观察到以下行为:

设置为并行度18的运算符在所有任务插槽之间平均分配。

所有其他运算符(设置为默认值-9)分布不均。例如:

  • TM1:运行2个子任务
  • TM2:运行5个子任务
  • TM3:运行2个子任务

有人可以解释以下内容-

  • 是什么原因造成这种分布不均?
  • 我可以控制操作员分配达到平衡吗?我该怎么办?

(与Flink v1.6.3一起运行)

1 个答案:

答案 0 :(得分:1)

目前,Flink不支持控制任务如何分散在不同的TaskManagers之间。 Flink假定所有插槽均相等,因此不会尝试均匀地分散任务。但是,社区希望添加此功能。这是respective issue

相关问题