李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
08.Flink任务提交流程
Leefs
2021-12-29 PM
1004℃
0条
[TOC] ### 一、Flink运行时架构 ![08.任务提交流程04.png](https://lilinchao.com/usr/uploads/2021/12/3055398352.png) - Flink 客户端 - 提交Flink作业到Flink集群 - Stream Graph 和 Job Graph构建 - JobManager - 资源申请 - 任务调度 - 应用容错 - TaskManager - 接收JobManager 分发的子任务,管理子任务 - 任务处理(消费数据、处理数据) ### 二、Standalone模式任务提交流程 ![08.任务提交流程01.png](https://lilinchao.com/usr/uploads/2021/12/2337654571.png) **说明** (1)App程序通过rest接口将应用提交给Dispatcher; (2)分发器就会启动并将应用提交给一个JobManager; (3)JobManager获得提交过来的应用后,向ResourceManager申请资源(slots),ResouceManager会启动对应的TaskManager进程; (4)TaskManager会将空闲的slots向ResourceManager进行注册; (5)ResourceManager会根据JobManager申请的资源数量,向TaskManager发出指令; (6)TaskManager直接和JobManager通过心跳包的连接来进行相互通信 + TaskManager向JobManager提供slots + JobManager向TaskManager分配在slots中执行的任务 (7)最后,在执行任务过程中,不同的TaskManager会有数据之间的交换。 ### 三、Yarn模式任务提交流程 ![08.任务提交流程02.png](https://lilinchao.com/usr/uploads/2021/12/1749174443.png) (1)提交App之前,先上传Flink的Jar包和配置到HDFS,以便JobManager和TaskManager共享HDFS的数据; (2)客户端向ResourceManager提交Job,ResouceManager接到请求后,先分配container资源,然后通知NodeManager启动ApplicationMaster; (3)ApplicationMaster会加载HDFS的配置,启动对应的JobManager,然后JobManager会分析当前的作业图,将它转化成执行图(包含了所有可以并发执行的任务),从而知道当前需要的具体资源; (4)接着,JobManager会向ResourceManager申请资源,ResouceManager接到请求后,继续分配container资源,然后通知ApplictaionMaster启动更多的TaskManager(先分配好container资源,再启动TaskManager)。container在启动TaskManager时也会从HDFS加载数据; (5)最后,TaskManager启动后,会向JobManager发送心跳包。JobManager向TaskManager分配任务。 *附:* *[参考文章链接](https://baijiahao.baidu.com/s?id=1704673778984288712&wfr=spider&for=pc)*
标签:
Flink
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/1806.html
上一篇
07.Flink运行时组件
下一篇
09.Flink任务调度原理
取消回复
评论啦~
提交评论
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
43
标签云
Http
JavaWEB项目搭建
BurpSuite
Golang
FileBeat
JavaSE
持有对象
VUE
SpringCloud
Filter
Spark SQL
NIO
Java阻塞队列
机器学习
随笔
Elasticsearch
Hadoop
Azkaban
RSA加解密
MyBatis-Plus
算法
Elastisearch
高并发
Flink
ClickHouse
MyBatisX
Jquery
Spring
Quartz
正则表达式
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞