Flink 系统架构/Flink 作业提交运行的原理
我们编写的代码,对应着在Flink集群上执行的一个作业;所以我们在本地执行代码,
其实是idea开发环境中根据引入的依赖,先模拟启动一个Flink集群,
然后把我们代码中定义好的操作,作为"作业",(job要打包好)
然后将作业提交到集群上,创建好要执行的任务等待数据输入。
1、Flink 中的几个关键组件:
客户端(Client)、作业管理器(JobManager)和任务管理器(TaskManager)。
(1) 客户端:和flink 集群关系没那么大,主要就是向flink 提交一下作业。
- 我们的代码,实际上是由客户端获取并做转换,之后提交给JobManger 的。
(2) JobManager:对作业进行调度管理
- JobManager获取到要执行的作业后,会进一步处理转换,然后分发任务给众多的 TaskManager
(3) TaskManagers: 也叫worker,等待数据输入,进行实际计算。
2、flink 系统架构详细图
- JobManager,也称为 master,用于协调分布式执行。