栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Flink 解决作业资源随着需求的变化而动态调整的

Flink 解决作业资源随着需求的变化而动态调整的

Flink 作业资源管理

目前,Flink是无法做到Job在运行时动态调整并行度的,不经历重启直接拉起新的Task实列进行运行,目前都是基于重启恢复机制来实现的,因为涉及到状态管理
Flnk 在资源管理中,资源的获取方式包含两种模式:

Active 模式:主动式,Flink 可以主动的申请、释放资源(通过与资源管理框架集成,如:Yarn、Mesos)Reactive 模式:被动响应式,该模式由外部系统来进行分配,释放资源,Flink只是简单地对可用资源进行响应。(这种模式对于基于容器环境相当有意义,如K8S)

现在Flink的资源管理模式是Action 模式,有用户明确指定Job需要的资源,JobMaster 会像ResourceManager 去请求用户的指定的全量资源,当ResourceManager 无法满足JobManager 的申请需求时,该Job 将无法进行正常启动,它会陷入失败重启-》再次尝试申请的循环。

为了能够同时支持Active/Reactive 这两种模式,Flink 1.12.0 版本引入了申明式资源管理设计

该功能和原先最大的差别在于:JobMaster 不再去逐个请求Slot,二十申明需要的资源情况,对资源要求是弹性范围的,不是固定的。

弹性资源包含四个参数(min,targer,max,rs)

min:执行job的最小资源target:jobMaster 期望获得的常规资源需求,它是可变的,这是扩缩容的主要出发机制。max: 最大资源期望rs: resource spc(资源描述信息) 动态调整:

将Flink任务部署运行在K8S容器上的,使用Flink Reactive Mode 响应模式,将Flink集群部署在K8s容器种,通过K8S的Pod 水平自动扩缩容器组件来实现Flink作业资源TaskManager的动态改变。

K8s 的Pod的水平自动缩放组件会监控所有的TaskManager Pods 的cpu 负载来相应的调整副本因子(replication factor)。当cpu 负载升高时,autoscaler 会增加TaskManage资源来平摊压力,当负载降低时,autoscaler会减少TaskManager资源

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/712186.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号