Flink源码解析

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

2021-01-26  本文已影响0人  shengjk1

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

上一篇下一篇

猜你喜欢

热点阅读