大数据全系列 教程
1869个小节阅读:465.7k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Flink 1.11 引入了一种新的运行模式,即 Application 模式,目前可以支持基于 Hadoop YARN 和 Kubernetes 的 Application 模式。
Per-Job 模式:每个作业单独启动1个集群,隔离性好,JM 负载均衡,Job作业main 方法在客户端执行。
Session 模式:所有作业Job共享1个集群资源,隔离性差,JM 负载瓶颈,每个Job中main 方法在客户端执行。
通过以上两种模式的特点描述,可以看出,main方法都是在客户端执行,社区考虑到在客户端执行 main() 方法来获取 flink 运行时所需的依赖项,并生成 JobGraph,提交到集群的操作都会在实时平台所在的机器上执行,那么将会给服务器造成很大的压力。尤其在大量用户共享客户端时,问题更加突出。
此外这两种模式提交任务的时候会把本地flink的所有jar包先上传到hdfs上相应的临时目录,这个也会带来大量的网络的开销,所以如果任务特别多的情况下,平台的吞吐量将会直线下降。
Application模式使用 bin/flink run-application
提交作业,本质上是Session和Per-Job模式的折衷。
xxxxxxxxxx
#bin/flink run-application参数说明
-t:指定运行模式 "yarn-application","kubernetes-application"