一.flink运行时的组件
1.Dispatcher(分发器)
一个可有可无的组件,提供了一个webUI,可以用webUI提交任务,也可以选择命令行提交
2.JobManager主节点(作业管理器)
接收要执行的应用程序(application),对job任务做整体的资源调度,划分很多个task任务,分布给TaskManager执行
3.ResourceManager(资源管理器)
根据不同情况进行分配slot(资源),对JobManager提供的slot请求,根据现有的slot情况进行分配slot,如果资源不够用,需要等待其它任务结束释放资源或者申请其它资源
4.TaskManager从节点(任务管理器)
执行具体task任务的一个结点(进程),每个TaskManager都会提供相应的slot的执行单元,它会与ResourceManager时刻保持心跳机制
二.任务提交流程
1.将写好的代码application,提交给分发器(Dispacher)
2.分发器(Dispacher)把job任务提交给作业管理器(JobManager),分发器可有可无,如果没有分发器(Dispacher),可以通过命令行进行提交job任务给作业管理器(JobManager)
3.作业管理器(JobManager)接收任务,并对任务做划分,得到执行图,可以知道当前job任务主slot来执行
4.作业管理器(JobManager)向资