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

news/2024/11/30 0:38:46/

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,具体如下图所示:
 


http://www.ppmy.cn/news/1198327.html

相关文章

第四次pta认证P测试

第一题 试题编号: 试题名称:整数排序 时间限制: 1.0s 内存限制: 128.0MB 【问题描述】 老师给定 10 个整数的序列,要求对其重新排序。排序要求: 1.奇数在前,偶数在后; 2.奇数按从大到小排序&am…

Markdown语法教程

Markdown:一种轻量级语言,有简洁的编写方式,能够提高大家的工作效率。 一、标题 1.1 标题 标题的编写格式以#号开始,分别表示h1 ~ h6,注意:# 后面有空格! # 一级标题 ## 二级标题 ### 三级标题…

rust入门基础案例:猜数字游戏

案例出处是《Rust权威指南》,书中有更加详细的解释。从这个例子中,我们可以了解到 rust 的两个操作: 如何从控制台读取用户输入rust 如何生成随机数 代码格式化 编译器可在保存时对代码做格式化处理,底层调用 rustfmt 来实现&a…

HDU 2648:Shopping ← STL map

【题目来源】http://acm.hdu.edu.cn/showproblem.php?pid2648【题目描述】 Every girl likes shopping,so does dandelion.Now she finds the shop is increasing the price every day because the Spring Festival is coming .She is fond of a shop which is called "m…

微积分第一章函数与极限

1.正反三角函数的导数 2.常用等价无穷小 3.正反三角函数转化: 1.secx1/cosx 2.cecx1/sinx 3.cotx1/tanx 4.基本数学思想: 1.有限式子与无限式子:在面对无限个式子运算时,大体思路为两个方面,第一个为放缩&#xff…

【Linux系统编程】系统用户和权限的操作

目录 一,Linux的用户 1,用户之间的切换 2,超级用户权限的使用 二,Linux的文件权限 1,文件信息的介绍 2,文件权限的修改 3,用户的修改 3-1,拥有者的更改 3-2,所属…

leetcode 684. 冗余连接

树可以看成是一个连通且 无环 的 无向 图。 给定往一棵 n 个节点 (节点值 1~n) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间,且这条附加的边不属于树中已存在的边。图的信息记录于长度为 n 的二维数组 edges ,edges[i] …