Apache Flink连载(二十八):Flink细粒度资源管理(1)-适用场景和原理

本文详细介绍了Apache Flink的细粒度资源管理,包括适用场景、原理及动态资源切割机制。针对不同并行度和资源需求的任务,粗粒度资源管理可能造成资源浪费,而细粒度管理通过按需申请和使用资源提高了效率。文章以一个具体的作业案例说明了细粒度管理如何避免资源浪费,并探讨了如何在实际场景中应用这一特性。

🏡 个人主页IT贫道-优快云博客

 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~

 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频


目录

1. Flink细粒度资源管理介绍

​​​​​​​2. 细粒度资源适用场景

​​​​​​​3. 细粒度资源原理

​​​​​​​4. 资源分配策略-动态资源切割机制


​​​​​​​1. Flink细粒度资源管理介绍

Apache Flink 在1.14版本之前使用的是粗粒度资源管理方式,每个算子Slot Request 所需要的资源都是未知的,在Flink源码内部使用UNKNOWN的特殊值来表示,这个值可以和任意资源规格的物理Slot进行匹配,站在TaskManager的角度来说,它拥有的Slot个数与Slot资源是根据Flink的配置来决定。

对于多数简单的作业,现有的粗粒度资源管理已经可以基本满足对资源效率的要求,我们将任务被部署到预定义的、通常相同的Slot中,而无需了解每个Slot包含多少资源,使用粗粒度资源管理只是简单的将所有的task任务运行在一个SlotSharingGroup(SSG)中就可以很好地利用资源。如下图作业,由Kafka读取数据后经过一些简单处理,最终将结果写入到Redis中。对于这种作业,我们很容易将上下游并发保持一致,并将作业的整个pipeline放到一个SSG中。这种情况下Slot的资源需求是基本相同的,用户直接调整默认的Slot配置即可达到很高的资源利用效率,同时由于不同的Task热点峰值不一定相同,当一个任务的消耗减少时,额外的资源可以被另一个消耗增加的任务使用,这被称为削峰填谷效应,通过这种效应将不同的task放到同一个大的Slot里,可以进一步降低整体的资源开销。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT贫道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值