1. Flink Runtime 概述
1.1 概述
Flink RunTime是介于底层部署与DataSteamApi或DataSetApi之间的一层,以JobGraph形式接收程序,将任务task提交到集群上执行,RunTime层可以适用不同底层部署模式。Flink Runtime总体架构如下如所示:
主要分为Client ,JobManager, TaskManager
- Client : client并不是运行程序的一部分,用户将任务提交到JobManager, 提交之后可以断开连接或者是继续连接接收任务执行的进度等信息。
- JobManager: 负责任务的分配,checkpoint的协调,以及任务失败后的故障恢复。JobManager可以有多个,但只有一个会是主节点,其他为备节点。
- TaskManager 负责任务的执行和数据流的缓冲和交换,至少有一个TaskManager存在
1.2 运行模式
JobManager和TaskManager可以通过多种方式启动,比如Stand-alone集群模式,容器docker,也可以是yarn, Mesos等资源调度框架。