[英]Apache Flink: number of TaskManagers per machine
每台機器的CPU核心數為4。 在flink獨立模式下,如何設置每台機器上的TaskManagers數量?
通常,每個服務器都有一個TaskManager,並且(根據bupt_ljy引用的文檔)每個物理CPU核心有一個插槽。 所以我選擇你的選項#1。
還有Flink的調度算法的考慮。 我們經常遇到這樣的問題,即多個主機運行一個大型任務管理器,所有作業都被調度到一個主機,這可能導致負載問題。
我們最終為每個主機創建了多個較小的任務管理器,並且作業似乎分布得更好(盡管它們仍然經常聚集在一個節點上)。
所以,根據我的經驗,我會更傾向於4個任務管理器,每個1個插槽,或者可能在2個任務管理器上有2個插槽。
我認為這取決於你的申請。
在官方文檔Distributed Runtime Environment中 ,它說, 根據經驗,一個很好的默認任務槽數就是CPU核心數。 使用超線程,每個插槽然后需要2個或更多硬件線程上下文。
但是,如果您必須在應用程序中使用大量內存,那么在一個任務管理器中不需要太多插槽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.