Flink源码解析二之执行计划⽣成

编程入门 行业动态 更新时间:2024-10-13 06:17:34

Flink<a href=https://www.elefans.com/category/jswz/34/1770099.html style=源码解析二之执行计划⽣成"/>

Flink源码解析二之执行计划⽣成

JobManager Leader 选举

首先flink会依据配置获取RecoveryMode,RecoveryMode一共两两种:STANDALONE和ZOOKEEPER。

  • 如果用户配置的是STANDALONE,会直接去配置中获取JobManager的地址
  • 如果用户配置的是ZOOKEEPER,flink会首先尝试连接zookeeper,利用zookeeper的leadder选举服务发现leader节点的地址和当前的sessionid

客户端JobGraph的提交

  • 启动JobClientActor用来和JobManager交互
  • 启动LeaderRetrievalService获取JobManager的地址
  • 上传用户 jar包
  • 提交SubmitJob命令,等待程序执行
     

JobManager执行计划生成

JobManager启动逻辑

  • 配置Akka并生成ActorSystem
  • 初始化ZooKeeperLeaderRetrievalService,JobManager在启动的时候会以LeaderRetrievalListener的身份将自己注
  • 册进来,该service负责监听最新的leader信息,当发生改变时通知即所有 listener【所有的JobManager】
  • 启动ResourceManager

执行计划ExecutionGraph的生成

flink的运行时执行计划为ExecutionGraph,ExecutionGraph 时应之前的JobGraph,一个ExecutionGraph包含多个ExecutionJobVertex节点,JobGraph的JobVertex,每ExecutionJobVertex 节点的并发子task对应一个ExecutionVertex,InputChannelDeploymentDescriptorn,具体如下图所示:
 

更多推荐

Flink源码解析二之执行计划⽣成

本文发布于:2023-11-16 13:13:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1623610.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:源码   计划   Flink

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!