当前位置: 首页 > 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/217188.html

相关文章:

  • Flutter 常见错误记录总结
  • [ASP]校无忧在线报名系统 v2.1
  • 【Hydro】部分基流分割方法及程序代码说明
  • C#Regex正则表达式(Regular Expression)
  • Wi-Fi还可以做什么?柯南解释IOT应用
  • centos部署java程序
  • Sqoop导入到Hive,Hive使用 HA
  • [笔记] %的含义
  • FRI及相关SNARKs的Fiat-Shamir安全
  • TensorFlow案例学习:使用 YAMNet 进行迁移学习,对音频进行识别
  • MySQL CHAR 和 VARCHAR 的区别
  • 虚拟机 ping: www.baidu.com:未知的名称或服务
  • 第二章 Python字符串处理
  • 混合编程 ATPCS规范及案例(汇编调用C、C调用汇编、内联汇编)
  • 使用Gorm进行CRUD操作指南
  • Linux0.11内核源码解析-exec.c
  • 百度竞价排名推广对比自然排名哪一个更具优势-华媒舍
  • python第一课 变量
  • shell之netstat的用法
  • MSQL系列(十二) Mysql实战-为什么索引要建立在被驱动表上
  • C语言,数据结构指针,结构构体操作符 •,->,*的区别,看这篇就够了
  • axios 多个baseURL配置、实现不同前缀代理到不同的服务器的几种方式
  • Diango项目-简易个人博客项目
  • 思维训练3
  • 初识FFmpeg
  • 分布式多主关系数据库的底线业务优势
  • JMM讲解
  • 小程序获取头像和昵称的思路
  • 关于docker网络实践中遇到的问题
  • C#完成XML文档节点的自动计算功能