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

2021-02-01 12:02:01 浏览数 (1)

  • 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

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

0 人点赞