阿里美女面试官问我:Flink资源管理有了解吗

2 篇文章 0 订阅
1 篇文章 0 订阅

三连后观看,养成好习惯!
点个关注吧,球球啦!
Flink Runtime运行时架构:https://blog.csdn.net/Mr_kidBK/article/details/105709629

前言

      Apache Flink 一个高性能的分布式数据处理引擎,它用于对无界和有界数据流进行有状态计算,它被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。
      相信过多的我不需要做什么介绍,本系列将以flink整体架构,资源管理与作业调度,错误恢复三个层面详细的讲述Flink Runtime运行时架构核心机制。

正文

书接上回。。。
好了我们继续吧
在这里插入图片描述
稍作歇息之后,美女面试官又回到了座位上,期间似乎补了个妆,还换了身衣服?!

这。这谁顶得住。。。
在这里插入图片描述

Flink资源管理有了解吗,流程简单描述下

可以,不愧是选中我的面试官。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述      之前我们说过,Flink中也有他自己的资源资源管理器RM,具体说的话资源管理就是RM中一个叫SlotManager的一个组件,他负责维护管理Slot状态分配空闲的Slot资源

      JobManager需要对整个作业负责,因此首先是由它发起向RM索要slot资源的请求,而在TM启动的时候,他会主动的向RM报告自己的Slot信息,包括有多少个slot,每个slot的资源大小(社区版无)。当RM收到JM的申请时,会计算集群空闲资源是否满足需求,如果达到需求,RM会向被分配的TM发送通知“你的xxSlot被征用了,请去xxx地和JM接头!”

      然后,TM收到通知后,会找到JM,告诉他“你的申请成功了,这些Slot现在暂时归你了!”;JM收到Slot后,会把Slot信息缓存在一个SlotPool中,在收到足够的Slot后,JM会把task提交到对应的Slot上,也就是提交任务执行。

      当作业结束,无论是异常结束还是正常结束,TM都会向RM发送释放对应Slot的请求。
(结合上图更容易理解哦!)

上篇文章你也说过,在生成JobGraph时Flink会把能分配在一起的task分到一起(疯狂暗示)
Operator Chains(算子链)这个概念你了解吗?

在这里插入图片描述

      为了更高效地分布式执行,Flink会尽可能地将operator的subtask链接(chain)在一起形成task,这些task会在相同的slot中被执行,它能减少线程之间的切换,减少消息的序列化/反序列化,减少数据在缓冲区的交换,减少了延迟的同时提高整体的吞吐量。

什么情况下才会把Operator chain在一起形成算子链?

比如说我现在有这样一个job,并行度为3

在这里插入图片描述

首先,相同的task是不能chain的,如A1,A2,A3。

在这里插入图片描述

两个task之间分区方式是forward(上下游算子并行度一样),并且他们在一个slot group 中

下游节点的入度为1 (也就是说下游节点没有来自其他节点的输入)

在这里插入图片描述

下一章:checkpoint容错机制与错误恢复

点关注,不迷路!

你知道的越多,你的头就会越秃

点个赞再走,球球啦!

原创不易,白嫖不好,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!

本博客仅发布于CSDN—一个帅到不能再帅的人 Mr_kidBK。转载请标明出处。
https://blog.csdn.net/Mr_kidBK

点赞!收藏!转发!!!么么哒!
点赞!收藏!转发!!!么么哒!
点赞!收藏!转发!!!么么哒!
点赞!收藏!转发!!!么么哒!
点赞!收藏!转发!!!么么哒!
————————————————
在这里插入图片描述

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值