当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/219567.html

相关文章:

  • MySQL遍历所有表所有字段查找字符数据
  • Java中的异常处理机制是怎样的?
  • 高教社杯数模竞赛特辑论文篇-2023年A题:定日镜场的优化设计(附获奖论文及MATLAB代码实现)
  • c语言实现http下载功能,显示进度条和下载速率
  • Educational Codeforces Round 157 (Rated for Div. 2) D. XOR Construction (思维题)
  • 【unity实战】实现类似英雄联盟的buff系统
  • 【C语言基础教程】函数指针与指针大小
  • Web前端—网页制作(以“学成在线”为例)
  • Hive【Hive(八)自定义函数】
  • linux远程桌面管理工具xrdp
  • 100天精通Python(可视化篇)——第106天:Pyecharts绘制多种炫酷桑基图参数说明+代码实战
  • 什么是OTP认证?OTP认证服务器有哪些应用场景?
  • shell_73.Linux使用新 shell 启动脚本
  • 【领域驱动设计】聚合
  • WiFi模块在智能家居中的应用与优化
  • LeetCode75——Day27
  • P6462补刀
  • Python教程---Python交互界面
  • 基于计算机视觉的身份证识别系统 计算机竞赛
  • [python] logging输出到控制台(标准输出)
  • uniapp 离线打包 google 登录
  • 【实战Flask API项目指南】之一 概述
  • AD面试总结
  • 从今年最硬科幻游戏中的思考
  • Linux多值判断利用case...esac判断
  • 【教3妹学编程-算法题】重复的DNA序列
  • jetsonTX2 nx配置yolov5和D435I相机,完整步骤
  • RflySim | 滤波器设计实验一
  • 设计模式——责任链模式(Chain of Responsibility Pattern)+ Spring相关源码
  • 游戏中的随机抽样算法