Apache Flink:每台机器的任务管理器数量



每台机器的 CPU 内核数为 4。在 flink 独立模式下,我应该如何设置每台机器上的任务管理器数量?

    1个任务管理器
  1. ,每个任务管理器有4个插槽。
  2. 2个任务管理器
  3. ,每个任务管理器有2个插槽。
  4. 4个任务管理器
  5. ,每个任务管理器有1个插槽。这个设置就像阿帕奇风暴。
通常,

每台服务器都有一个任务管理器,并且(根据bupt_ljy引用的文档)每个物理 CPU 内核一个插槽。所以我会选择你的选项#1。

还有对

Flink 调度算法的考虑。我们经常遇到这样的问题:当多个主机运行一个大型任务管理器时,所有作业都会调度到一个主机,这可能会导致负载问题。

我们最终为每个主机制作了多个较小的任务管理器,并且作业似乎分布得更好(尽管它们仍然经常聚集在一个节点上)。

因此,根据我的经验,我更倾向于 4 个任务管理器,每块 1 个插槽,或者可能妥协 2 个任务管理器,每个插槽 2 个。

我认为这取决于您的应用程序。

在官方文件中 分布式运行时环境,它说 根据经验,一个好的默认任务槽数是 CPU 内核数。使用超线程时,每个插槽随后采用 2 个或更多硬件线程上下文。

但是,如果您必须在应用程序中使用大量内存,那么在一个任务管理器中不需要太多插槽。

最新更新