前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flink源码解读系列 | TaskManager启动

Flink源码解读系列 | TaskManager启动

作者头像
大数据真好玩
发布2020-09-04 16:44:39
9920
发布2020-09-04 16:44:39
举报
文章被收录于专栏:暴走大数据暴走大数据

通过启动脚本已经找到了TaskManager 的启动类org.apache.flink.runtime.taskexecutor.TaskManagerRunner

来看一下它的main方法中

最后被start了起来

start其实是将taskManager 端的RPC服务起起来了

看一下TaskManagerRunner的构造方法中

调用了这个startTaskManager()方法,在这个方法中又调用了

在这个方法中.fromConfiguration()

看到创建了一个networkEnevironment并且把它起了起来其中

因为flink的网络是走的netty,可以看到它会初始化netty的客户端和服务端用于网络通信并且传入了bufferPool池,这个在以后随缘更新到 反压 会详细的研究

回到fromConfiguration()方法

network.start以后它又

创建了内存管理类memoryManager和io管理类IOmanager, 这里以后随缘更新讲到内存和IO单独说

需要注意的是这里的Async异步IO,其实目前flink只有这一种异步的IO管理器

创建了定时器服务,定时器留到窗口在讲

回到startTaskManager()方法的最后

这个类TaskExecutor就是前面说的包含了RPC接口的类主要是实现了接口

里面包含了一些重要的方法的实现,来看一下有哪些重要的方法

可以看到这是请求slot的

这是启动Task的其中这个tdd就包含了一些任务的信息上下游inputGate,resultPartition等 具体job启动的时候详细讲一下

这个方法也是比较重要的,可以看到这是一个触发checkPoint的RPC,这里可能会有疑问为什么Chenkpoint这个RPC会在TaskManager端

可以先简单的看下具体实现

看到这里大致就知道了,其实这个RPC是留给Coordinator调用的,会触发生成Barrier的逻辑(也就是经常说的,coordinator会在source插入barriers用于分布式快照对齐)随缘更新到checkpoint的时候在细说吧

这里TaskManager就差不多启动起来了,当然TaskManager还有很多服务像HA,Heartbeat,BlobCache也会起起来,这里就不全部写出了。

版权声明:

本文为《暴走大数据》整理,原作者独家授权。未经原作者允许转载追究侵权责任。

编辑|冷眼丶

微信公众号|暴走大数据

欢迎点赞+收藏

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据真好玩 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档