簡體   English   中英

設置算子並行度大於默認並行度時,Flink 任務槽分布不均勻

[英]Flink task slots are not evenly distributed when setting operator parallelism larger than default parallelism

我在包含 3 個任務管理器(在 3 個 Kubernetes pod 之上)的集群上運行 Flink 作業。 作業的默認並行度為 9,其中一個運算符設置為並行度 18。作業的任務槽數設置為 18(最大並行度值)。

我觀察到以下行為:

設置為並行度 18 的運算符在所有任務槽之間平均分配。

所有其他運算符(設置為默認值 - 9)不均等分布。 例如:

  • TM1:運行 2 個子任務
  • TM2:運行 5 個子任務
  • TM3:運行 2 個子任務

有人可以解釋以下內容 -

  • 造成這種分布不均的原因是什么?
  • 我可以控制操作員分配的平衡嗎? 我該怎么做?

(使用 Flink v1.6.3 運行)

目前,Flink 不支持控制任務在不同TaskManagers之間的分布。 Flink 假設所有的 slot 都是相等的,因此不會嘗試均勻地分配任務。 不過,社區希望添加此功能。 這是各自的問題

更新

Flink >= 1.9.2 已修復此問題。 為了啟用任務擴展,您必須在flink-conf.yaml配置cluster.evenly-spread-out-slots: true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM