Flink内核源码解析

目录

参考

程序入口
yarn-per-job模式:
运行程序后启动的进程:
Clifrontend(相当于client)
Yarnjobclusterentrypoint(相当于JM)
Taskexecutorrunner(相当于TM)

程序入口:Org. Apache. Flink. Client cli. Clifrontend (通过flink自带运行脚本中发现)

参数解析
入口:CliFrontend

加载默认配置,解析参数

run

执行用户程序main

StreamExecutionEnvironment.execute

流图转换为作业图
创建集群描述器(创建、包含yarnClient、yarn和flink的配置环境信息)
集群资源配置(JobManager内存、taskmanager内存、单tm sloat数)
部署集群
部署前检查工作(jar包、配置路径、资源等)
启动AM(AppMaster)

startAppMater
YarnClusterDescriptor.java startAppMaster
初始化文件系统
创建应用文件上传器fileUpLoader(包括fs、hdfs路径等)
获取appid、获取zk namespa
yarn 高可用配置(失败重试次数,默认2次)
上传用户jar包,上传flink 依赖,上传flink配置文件
存储am环境信息和类路径到map
将封装好的map设置到容器中
yarnClient提交应用(yarnClient.submitApplication(appContext))

AM执行入口 YarnJobClusterEntrypoint
加载配置(日志环境、系统环境、工作路径……)
启动集群
初始化服务(initializeServices)(创建远程rpc……)
创建&启动jobManager里的组件Dispatcher、ResourceManager、JobMaster(dispatcherResourceManagerComponentFactory.create)
创建ResourceManager
创建&启动Dispatcher
创建Dispatcher
启动Dispatcher(组件的onstart方法)
启动Dispatcher
创建JobMaster线程
创建 调度器,创建的时候把 JobGraph转换成 ExecutionGraph
启动JobMaster线程
启动ResourceManager(组件的onstart方法)
初始化
创建yarn- ResourceManager客户端 & 初始化、启动
创建yarn-nodeManager客户端 & 初始化、启动
通过选举服务启动ResourceManager
启动心跳服务:Taskmanager、JobMaster
启动slo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值