FlinkJob提交流程

每个FlinkJob提交的时候,都有特定的流程。

通用提交流程(ResourceManager未指定)
FlinkJob提交流程_第1张图片
步骤如下:
1.application提交时,被dispatcher分发器将job提交给JobManager
2.JobManager向资源管理器ResourceManager申请资源(插槽slot,每个slot为一个线程)
3.ResourceManager注册空闲的slot
4.由JobManager将slot分配给TaskManager
5.job开始执行

运行在yarn上的提交流程
FlinkJob提交流程_第2张图片
Flink 任务提交后,Client 向 HDFS 上传 Flink 的 Jar 包和配置,之后向 Yarn
ResourceManager 提交任务,ResourceManager 分配 Container 资源并通知对应的
NodeManager 启动 ApplicationMaster,ApplicationMaster 启动后加载 Flink 的 Jar 包
和配置构建环境,然后启动 JobManager,之后 ApplicationMaster 向 ResourceManager
申请资源启动 TaskManager , ResourceManager 分 配 Container 资 源 后 , 由
ApplicationMaster 通 知 资 源 所 在 节 点 的 NodeManager 启 动 TaskManager ,
NodeManager 加载 Flink 的 Jar 包和配置构建环境并启动 TaskManager,TaskManager
启动后向 JobManager 发送心跳包,并等待 JobManager 向其分配任务。

你可能感兴趣的:(FlinkJob提交流程)