apache flink:每台机器的任务管理器数

6ie5vjzr  于 2021-06-21  发布在  Flink
关注(0)|答案(3)|浏览(591)

每台机器的cpu核心数是4个。在flink独立模式下,我应该如何设置每台机器上TaskManager的数量?
1个taskmanager,每个taskmanager有4个插槽。
2个taskmanager,每个taskmanager有2个插槽。
4个taskmanager,每个taskmanager有1个插槽。此设置类似于apache storm。

daolsyd0

daolsyd01#

我想这取决于你的申请。
它说,在官方文档分布式运行时环境中,根据经验,一个好的默认任务槽数是cpu核数。使用超线程时,每个插槽会占用2个或更多硬件线程上下文。
但是,如果您必须在应用程序中使用大量内存,那么您不需要在一个任务管理器中使用太多的插槽。

siv3szwd

siv3szwd2#

此外,还考虑了flink的调度算法。我们经常遇到这样的问题:当多个主机运行一个大型任务管理器时,所有作业都被安排到一个主机上,这可能会导致负载问题。
我们最终为每台主机制作了多个较小的任务管理器,而且作业似乎分布得更好(尽管它们仍然经常聚集在一个节点上)。
因此,根据我的经验,我更倾向于4个任务管理者,每个任务有1个槽,或者折衷于2个任务管理者,每个任务有2个槽。

zd287kbt

zd287kbt3#

通常情况下,每个服务器有一个taskmanager,每个物理cpu核心有一个插槽(根据bupt\u ljy引用的文档)。所以我同意你的选择。

相关问题