中企动力做的保安服务网站,html网页源码,南京网站推广费用,wordpress 输出缩略图部署模式
在一些应用场景中#xff0c;对于集群资源分配和占用的方式#xff0c;可能会有特定的需求。 Flink为各种场景提供了不同的部署模式#xff0c;主要有以下三种#xff1a;会话模式#xff08;Session Mode#xff09;、单作业模式#xff08;Per-Job Mode对于集群资源分配和占用的方式可能会有特定的需求。 Flink为各种场景提供了不同的部署模式主要有以下三种会话模式Session Mode、单作业模式Per-Job Mode、应用模式Application Mode。
它们的区别主要在于集群的生命周期创建和停止集群的时间以及资源的分配方式一个独享还是多人共享以及应用的main方法到底在哪里执行——客户端Client还是JobManager。
一、会话模式
会话模式最符合常规思维。我们需要先启动一个集群保持一个会话在这个会话中通过客户端提交作业。集群启动时所有资源就都已经确定所以所有提交的作业会竞争集群中的资源。
会话模式比较适合于单个规模小、执行时间短的大量作业。 二、应用模式
会话模式和单作业模式下应用的代码都是在客户端上执行的然后由客户端提交给JobManager但是这种方式客户端需要占用大量网络带宽去下载依赖和把二进制数据发送给JobManager加上很多情况下我们提交作业用的是同一个客户端就会加重客户端所在节点的资源消耗。
所以解决办法是我们不要客户端了直接把应用提交到JobManager上运行。而这也就代表着我们需要为每一个提交的应用单独启动一个JobManager也就是创建一个集群。这个JobManager只为执行这一个应用而存在执行结束后JobManager也就关闭了这就是所谓的应用模式。
应用模式与单作业模式都是提交作业后才创建集群单作业模式是通过客户端来提交的客户端解析出的每一个作业对应一个集群而应用模式下是直接由JobManager执行应用程序的。
三、单作业模式官网已经标记为过时 应用模式解决了单作业模式的痛点
会话模式因为资源共享会导致很多问题所以为了更好地隔离资源我们可以考虑为每个提交的作业启动一个集群这就是所谓的单作业Per-Job模式。
作业完成后集群就会关闭所有资源也会释放。
这些特性使得单作业模式在生产环境运行更加稳定所以是实际应用的首选模式。
更需要注意的是Flink本身无法直接这样运行所以单作业模式一般需要借助一些资源管理框架来启动集群如yarn、kubernetes(K8S)。