簡體   English   中英

Apache Flink 作業未安排在 Kubernetes 中的多個 TaskManager 上(副本)

[英]Apache Flink job is not scheduled on multiple TaskManagers in Kubernetes (replicas)

我有一個簡單的Flink作業,它從 ActiveMQ 源和接收器讀取到數據庫並打印。 我在 Kubernetes 中部署了 2 個TaskManagers的作業,每個都有 10 個Task Slots ( taskmanager.numberOfTaskSlots: 10 )。 我配置的並行性超過了可用的總TaskSlots (即,在這種情況下為 10)。

當我看到Flink Dashboard我看到這個作業只在其中一個 TaskManager 中運行,而另一個 TaskManager 沒有作業。 我通過檢查調度的每個操作員來驗證這一點,也在Task Manager UI 頁面中,其中一個管理器的所有插槽都是空閑的。 我附上以下圖片以供參考。

我配置錯了嗎? 我的理解差距在哪里? 有人可以解釋一下嗎?

在此處輸入圖片說明

工作在此處輸入圖片說明

在此處輸入圖片說明

第一個任務管理器有足夠的插槽 (10) 來完全滿足您的工作要求。

調度程序的默認行為是在使用另一個任務管理器的插槽之前充分利用一個任務管理器的插槽。 相反,如果您希望 Flink 將工作負載分散到所有可用的任務管理器,請在flink-conf.yaml設置cluster.evenly-spread-out-slots: true (此選項是在 Flink 1.10 中添加的,以重新創建類似於 Flink 1.5 之前默認設置的調度行為。)

暫無
暫無

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

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