目录
Flink任务提交的方式有如下三种方式:
- 应用程序模式,Application Mode
- 会话模式,Session Mode
- 每个作业模式(已弃用),Per-Job Mode
上述模式的不同之处在于:
- 集群生命周期和资源隔离保证不同
- 应用程序的main()方法是在客户端还是在集群上执行不同。
如图:
Application Mode
在所有其他模式中,应用程序的main()方法在客户端执行。这个过程包括在本地下载应用程序的依赖项,执行main()来提取Flink运行时可以理解的应用程序的表示(即JobGraph),并将依赖项和JobGraph(s)发送到集群。这使得客户端成为一个沉重的资源消费者,因为它可能需要大量的网络带宽来下载依赖项并将二进制文件发送到集群,并且需要CPU周期来执行main()。当客户端被共享时,这个问题会更加明显。
在此基础上&#