Apache flink 在应用程序模式下部署时,Flink作业经理是如何分配的?

Apache flink 在应用程序模式下部署时,Flink作业经理是如何分配的?,apache-flink,flink-streaming,Apache Flink,Flink Streaming,从 为每个应用程序创建集群可以被视为创建一个会话集群,该集群仅在特定应用程序的作业之间共享,并在应用程序完成时拆除 每个作业是否有单独的JM或共享的JM?图片显示了一些不同的东西,我想澄清一下。 Flink应用程序可以由多个作业/部分组成。使用应用程序模式时,Flink会为应用程序部署专用集群。该集群包含一个JobManager进程,该进程将用于运行Flink应用程序的所有作业/部分。因此,该过程将由应用程序的不同部分共享。在应用程序模式中,假设一个应用程序由多个作业组成。每个作业都将被隔离,并

为每个应用程序创建集群可以被视为创建一个会话集群,该集群仅在特定应用程序的作业之间共享,并在应用程序完成时拆除

每个作业是否有单独的JM或共享的JM?图片显示了一些不同的东西,我想澄清一下。
Flink应用程序可以由多个作业/部分组成。使用应用程序模式时,Flink会为应用程序部署专用集群。该集群包含一个
JobManager
进程,该进程将用于运行Flink应用程序的所有作业/部分。因此,该过程将由应用程序的不同部分共享。

在应用程序模式中,假设一个应用程序由多个作业组成。每个作业都将被隔离,并具有单独的作业管理器和任务管理器(从而提供与每个作业模式相同的资源隔离和负载平衡保证)。应用程序模式中的另一个不同之处是main()方法(pre-flight)在作业管理器上而不是在客户端上执行。

Ok,这意味着作业管理器在同一会话模式下共享。酷!!一个主要问题是,TaskManager/TMSlots是否也得到共享?如果是这样的话,可以更新图来描述这一点。我认为图片是正确的。有多个JMs,每个应用程序一个(用颜色表示)。TMs不会在不同的JMs/应用程序之间共享,这就是为什么每个TM只运行一种颜色的任务。在应用程序模式下,不同应用程序的作业可以出现在同一集群上吗?或者图中描述的集群是在应用程序模式下运行的多个应用程序的合并?我认为是后者。黄云是运行它的云/资源管理系统(K8s、纱线、Mesos等),而不是Flink集群。谢谢你的回答。应用程序的TMs是否在同一应用程序的作业之间共享(如会话部署模式)缺乏明确性?你能确认一下吗。