Flink运行架构
一、Flink运行架构图
作业的提交、执行、管理等一系列的动作,如下图所示:
二、组件简介
1. Flink客户端
Flink客户端用来提交Flink作业到Flink集群,在客户端中负责StreamGraph(流图)和Job Graph(作业图)的构建。使用Table API和SQL编写的Flink应用,还会在客户端中负责SQL解析和优化。Flink的改进建议中提出了新的模式,SQL解析、优化,StreamGraph、JobGraph、ExecutionGraph构建转换等全部都会在JobManager中完成,这将在Flink1.10后续版本中实现。
2.JobManager
- 控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的 JobManager 所控制执行。
- JobManager 会先接收到要执行的应用程序,这个应用程序会包括:作业图 (JobGraph)、逻辑数据流图(logical dataflow graph)和打包了所有的类、 库和其它资源的JAR包。
- JobManager 会把