Flink-----Yarn应用模式作业提交流程

Yarn应用模式作业提交流程

在Yarn当中又分为Session,PerJob,Application,建议和推荐使用独立集群的,其中就包含PerJob 和Application,但是1.17版本的Flink已将PerJob标记为过时,并且Application可以解决PerJob的一些痛点,减轻客户端的一些压力,所以需要重点了解Yarn应用模式的作业提交流程

在这里呢,我图里面把客户端给省略了,因为客户端在这里其实就相当于说什么也不干了,那我们第一步,当我们执行一个 run-application 这种提交方式之后,我们就直接提交向Yarn的ResourceManager发起请求了,之后呢会选择一个节点NodeManager启动一个容器,容器里面运行所谓的ApplicationMaster,这个其实就是咱们的JobManager,JobManager里面有三个核心组件,第一个组件是Dispatcher 分发器,对应会启动资源管理器,就是Flink内部的ResourceManager,再之后,分发器会去启动JobMaster,启动起来之后(注意跟前面Standalone模式下的的区别),最原始的逻辑流图(StreamGraph)是在这边JobMaster生成的,因为咱们应用模式会将客户端原先做的解析,生成图,转成作业图这些操作都省略了,现在交给JobManager里面的JobMaster来做,所以它会解析用户代码生成逻辑流图(StreamGraph)就是最原始的图,再之后会进一步进行算子链的优化生成作业图(JobGraph),再进一步会将作业图展开生成最核心的执行流图(ExecutionGraph),再之后就和Standalone一样了,它去请求它自己的大管家ResourceManager资源管理器,因为是Yarn模式,Flink自己并没有真正的拥有资源,我们依赖的是外部的Yarn这个平台来管理资源的,这个时候Flink内部的资源管理器就充当一个皮条客,中介,它只负责接收自己老大JobMaster请求然后它会向真正管资源的Yarn的ResourceManager要资源,这个时候Yarn会选择它的NodeManager启动容器,容器里面就运行咱们的TaskManager进程,TaskManager里面又会有一个一个根据咱们配置指定的Slot,同样它也有Actor通信系统,当TaskManager启动之后,它会主动向Flink的大管家(Flink自己的资源管家)ResourceManager 去注册Slot(把资源注册一下),并且表示自己启动成功,接下来大管家(Flink自己的资源管理器ResourceManager) 就会反过来说,现在JobMaster需要Slot, 去分配一下分一下工,你们谁谁谁分一下人手,接下来工作节点就老老实实的向JobMaster 去提供它的资源,JobMaster收到它们提供的Slot 后,就可以根据之前的执行流图将一些子任务分发出去,当然走的也是Actor网络通信,那么最终这些Task在TaskManager工作节点运行起来之后,咱们就说那个是执行的效果是物理流图,整体就是这样子,这个是简化之后的提交流程。

相关推荐
eason_fan16 分钟前
从一则内存快照看iframe泄漏:活跃与Detached状态的回收差异
前端·性能优化
狗头大军之江苏分军33 分钟前
年底科技大考:2025 中国前端工程师的 AI 辅助工具实战盘点
java·前端·后端
阿巴~阿巴~1 小时前
告别命令行:Navicat可视化操作数据库(附安装使用教程)
服务器·数据库·mysql·navicat·可视化操作数据库
TG:@yunlaoda360 云老大1 小时前
华为云国际站代理商跨境容灾是如何实现的?
服务器·数据库·华为云
编程修仙1 小时前
第三篇 Vue路由
前端·javascript·vue.js
Hello.Reader1 小时前
Flink 系统内置函数(Built-in Functions)分类、典型用法与选型建议
大数据·flink·excel
云川之下2 小时前
【网络】华为交换机S3700与S5700详解
服务器·网络·华为
比老马还六2 小时前
Bipes项目二次开发/硬件编程-设备连接(七)
前端·javascript
掘金一周2 小时前
前端一行代码生成数千页PDF,dompdf.js新增分页功能| 掘金一周 12.25
前端·javascript·后端
咕噜签名-铁蛋2 小时前
云服务器故障服务保障体系构建与实践
服务器