Flink 提交作业运行的各种模式总结

  • 0. 背景
  • 1. Session Mode
  • 2. Per-Job Mode
  • 3. Application Mode
  • 4. 总结
  • 5. 参考

0.背景

关于 Flink 的 Application Mode 自己还比较陌生,像 -d 等参数自己也不熟悉,决定好好总结一下,基于 Flink-1.12.x

1.Session Mode

这个不用多说,也就是起一个 session,然后会有多个程序提交到这一个 session 中。
好处:集群资源仅分配一次,充分利用资源,程序App 启动较快
坏处:可能会连锁式的重启,jobManager 负载大

2.Per-Job Mode

使用的比较多,一个 application 一个 flink cluster
好处: 资源隔离,粒度更细,方便管理单个 job
坏处:当某个机器上有多个 client 时,会有较高的网络负载( 下载 jar 、传输 jar )以及消费大量的 CPU 来执行 main方法

3.Application Mode

Application Mode 与 Per-Job Mode 类似,主要是为了解决 Per-Job Mode 的不足,通过 yarn.provided.lib.dirs
另外 client 是在 JobManager 上执行的,可以避免 带宽、CPU 的热点问题。
并且相比于 Per-Job Mode 来说,更强大,可以提交多个 job

4.总结

Application Mode 与 Per-Job Mode 类似,它主要是为了解决 Per-Job Mode 中由于 client 端导致的 带宽、CPU 问题
Session Mode
Flink 提交作业运行的各种模式总结_第1张图片

5.参考

https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/#application-mode
https://ci.apache.org/projects/flink/flink-docs-stable/deployment/resource-providers/yarn.html

你可能感兴趣的:(ARTS,Apache,Flink,Flink,Mode,flink,session)