当设置大于默认并行度的运算符并行度时,Flink任务槽不均匀分布

问题描述 投票:0回答:1

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

我观察到以下行为:

设置为并行性18的运算符均等地分布在所有任务时隙之间。

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

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

有人可以解释以下 -

  • 是什么导致这种分布不均?
  • 我可以控制操作员分配是否平衡?我该怎么做?

(使用Flink v1.6.3运行)

apache-flink flink-streaming
1个回答
1
投票

目前,Flink不支持控制任务在不同的TaskManagers上的传播方式。 Flink假设所有插槽都相等,因此不会尝试统一分散任务。但社区想要添加此功能。这是respective issue

© www.soinside.com 2019 - 2024. All rights reserved.