.系统架构
作业管理器 (JobManager)
控制一个应用程序执行的主进程,是Flink集群中任务管理和调度的核心。
JobManager:
- JobMaster是JobManager中最核心的组件,负责处理单独的作业,在作业提交时JobMaster会先接收到要执行的应用,一般由客户端提交。包括:jar包、数据流图(dataflow graph)和作业图(Jobgraph)。
- JobMaster会把Jobgraph转换成一个物理层面的数据流图,这个图被称为 执行图(ExecutionGraph),它包含了所有可以并发执行的任务。JobMaster会向资源管理器(ResourceManger)发出请求,申请任务执行需要的资源。一旦获得足够的资源,就会将执行图分发的TaskManager上执行。
- 在运行过程中,JobMaster会负责所有需要中央协调的操作,比如检查点(checkpoints)的协调。
资源管理器(ResourceManager):
- ResourceManager主要负责资源的分配和管理,在Flink集群中只有一个。资源主要是指TaskManager 的任务槽(Task Slots)。任务是Flink中的资源调配单位,包含了机器用来执行计算的一组cpu和内存资源。每一个任务(Task)都需要分配到 slot 上执行。
分发器(Dispatcher):
- Dispatcher