Flink 资源静态调度

本内容是根据 Flink 1.18.0-Scala_2.12 版本源码梳理而来。本文主要讲述任务提交时,为 Task 分配资源的过程。
在这里插入图片描述

以下是具体步骤讲解:

  1. TaskManager 资源注册
    TaskManager 在启动时,会向 ResourceManager 注册资源。ResourceManager 会将 TaskManager 的资源以 ResourceProfile 的形式记录。
  2. 提交 Job
    再 Flink 系统启动后,会启动一个名为 Dispatcher 的组件。Flink 客户端会将用户编写的代码整理为 JobGraph,并提交至 Dispatcher。Dispatcher 会为每一个 JobGraph 创建一个 JobMaster。由 JobMaster 管理其 Job 的资源分配。
    JobMaster 内部包含一个调度器(Scheduler),再 1.18 版本中,Scheduler 的实现有:DefaultSchedulerAdaptiveSchedulerAdaptiveBatchScheduler
    默认使用 DefaultScheduler,其使用 PipelinedRegionSchedulingStrategySchedulingStrategy 作为他的调度
  3. JobMaster 从 SlotPool 中挑选资源分配给 Job
    每个 JobMaster 有一个 SlotPool,负责管理属于它的资源。
    对于 PipelinedRegionSchedulingStrategySchedulingStrategy,它会使用 SlotSharingStrategySlotSelectionStrategy 来决定调度策略。
    SlotSharingStrategy 负责将某些 SubTask 放在同一 Slot 中,此时产生的 Slot 叫做 SharedSlot。SharedSlot 只是一个逻辑概念,不是具体的物理资源。共享的策略目前只有 LocalInputPreferredSlotSharingStrategy
    当作业是首次提交,且不与其他作业共享资源时,SharedSlot 是不与物理资源对应的。那么就需要 SlotSelectionStrategy 来为 SharedSlot 选择物理资源。为其选择的物理资源被称为 PhysicalSlot。SlotSelectionStrategy根据某种策略,从 SlotPool 中挑选 PhysicalSlot 分配给 SharedSlot。这个策略目前有 DefaultLocationPreferenceSlotSelectionStrategyEvenlySpreadOutLocationPreferenceSlotSelectionStrategy
    然后,每个 SubTask 对应的执行节点(ExecutionVertex)中会记录期望分配的资源的信息。
    但是,作业首次提交时,它的 JobMaster 的 SlotPool 中是没有任何资源的,那么就需要下一步。
  4. JobMaster 向 ResourceManager 申请资源
    JobMaster 会将 SlotPool 中缺少的资源信息以 ResourceProfile 的形式发送给 ResourceManager 来申请资源。具体是 SlotPoolService 向 SlotManager 来申请资源。
    SlotManager 的具体实现目前有:DeclarativeSlotManagerFineGrainedSlotManagerDeclarativeSlotManager 支持作业级动态调度,FineGrainedSlotManager支持任务级动态调度。早期版本还有 SlotManagerImpl,其只支持静态调度,已被抛弃。
    SlotManager 接收到 JobMaster 所需的资源后,会与已注册的资源以某种策略进行匹配,匹配成功后,会将资源发送给 JobMaster。
  5. JobMaster 向 TaskManager 申请资源
    JobMaster 从 ResourceManager 得到可用的资源的信息后,会向每个资源对应的 TaskManager 发送资源信息。TaskManager 在收到资源信息后,会从它的资源中划分出相应的资源,并创建 Slot,然后激活 Slot。之后 TaskManager 会将已激活的 Slot 资源信息返回给 JobMaster。
    JobMaster 将发送给 TaskManager 的资源信息与TaskManager 返回的资源信息进行对比,若对比无误,则将 Slot 资源存储至 SlotPool。
  6. 部署 Task
    经过上面几步,Slot 已准备完毕。接下来,就是期望的资源信息会与已准备的资源进行匹配,若匹配成功,则部署。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/724105.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI 代理可以改变 B2B 电子商务的业务动态

今天你听到的都是人工智能,这是有原因的。在过去 18 个月里,我们经历了比以往更多的人工智能创新。人工智能一夜之间走出了实验室,并成为可行的商业驱动力。 一个有望赢得巨大胜利的行业是 B2B电子商务。事实上,B2B 电子商务可以…

2021 hnust 湖科大 C语言课程设计报告+代码+流程图源文件+指导书

2021 hnust 湖科大 C语言课程设计报告代码流程图源文件指导书 目录 报告 下载链接 https://pan.baidu.com/s/14NFsDbT3iS-a-_7l0N5Ulg?pwd1111

嵌入式实验---实验二 中断功能实验

一、实验目的 1、掌握STM32F103中断程序设计流程; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、在上一章的实验基础上,添加一个按键和一个LED; 2、使用中断的方式实现以下两个功能: (1)KEY1按键…

计算机图形学入门16:曲线

1.曲线 曲线(Curves)在图形学中应用非常广泛,比如:相机的拍摄路径、物体的移动路径、动画曲线、矢量字体等。如下图所示,是使用曲线到矢量字体的应用,通过移动一些控制点来改变字体。 2.贝塞尔曲线 2.1 贝…

[Vulnhub]Wintermute LFI+SMTP+Screen+Structv2-RCE+Lxc逃逸

概要 靶机 192.168.8.104 信息收集 $ nmap 192.168.8.103 --min-rate 1000 -sC -sV 结果: Starting Nmap 7.92 ( https://nmap.org ) at 2024-06-15 05:54 EDT Nmap scan report for 192.168.8.103 (192.168.8.103) Host is up (0.035s latency). Not shown: 997 closed t…

《软件定义安全》之七:SDN安全案例

第7章 SDN安全案例 1.DDoS缓解 1.1 Radware DefenseFlow/Defense4All Radware在开源的SDN控制器平台OpenDaylight(ODL)上集成了一套抗DDoS的模块和应用,称为Defense4ALL。其架构如下图,主要有两部分:控制器中的安全…

web安全渗透测试十大常规项(一):web渗透测试之XML和XXE外部实体注入

#详细点: XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。等同于JSON传输。XXE漏洞XML External Entity Injection,即xml外部实体注入漏洞,XXE漏洞发…

windows10安装paraview

下载软件: https://www.paraview.org/download/ 下载如下版本即可:

跟《经济学人》学英文:2024年6月15日这期 Chinese electric vehicles (EVs)

The EU hits China’s carmakers with hefty new tariffs Duties will only hold them back for a while 欧盟对中国汽车制造商征收高额新关税 hit: 对xxx施加 在句子"The EU hits China’s carmakers with hefty new tariffs"中,“hits”的意思是“对…

北京银行品牌价值提升160亿元首破千亿 位居《中国500最具价值品牌》榜第85位!

6月19日,由世界品牌实验室(World Brand Lab)主办的第二十一届“世界品牌大会”在北京举行,活动现场发布了2024年《中国500最具价值品牌》榜单。在这份基于财务数据、品牌强度和消费者行为分析的年度报告中,北京银行最新品牌价值达1036.62亿元…

Graph RAG 的力量:智能搜索的未来

随着世界越来越依赖数据,对准确、高效的搜索技术的需求从未如此高涨。传统搜索引擎虽然功能强大,但往往难以满足用户复杂而细微的需求,尤其是在处理长尾查询或专业领域时。Graph RAG(检索增强生成)正是在这种情况下应运…

定制汽车霍尔传感器

磁电效应霍尔传感器、饱和霍尔传感器、非线性霍尔传感器 霍尔传感器原理 霍尔传感器的工作原理基于霍尔效应,即当一块通有电流的金属或半导体薄片垂直地放在磁场中时,薄片的两端会产生电位差。这种现象称为霍尔效应,两端具有的电位差值称为…

排序算法及源代码

堆排序: 在学习堆之后我们知道了大堆和小堆,对于大堆而言第一个节点就是对大值,对于小堆而言,第一个值就是最小的值。如果我们把第一个值与最后一个值交换再对最后一个值前面的数据重新建堆,如此下去就可以实现建堆排…

Android Kotlin 中的闭包函数

闭包函数是现代编程语言中一个重要的概念,Kotlin 作为一种现代的 JVM 语言,自然也支持闭包函数。本文将详细介绍闭包函数的概念、在Kotlin 中的使用方法,以及一些常见的应用场景。 什么是闭包函数? 闭包函数,也称为闭…

MySQL版本发布模型

MySQL 8.0 之后使用了新的版本控制和发布模型,分为两个主线:长期支持版(LTS)以及创新版。这两种版本都包含了缺陷修复和安全修复,都可以用于生产环境。 下图是 MySQL 的版本发布计划: 长期支持版 MySQL…

百元内平价蓝牙耳机推荐,四款高热度平价耳机推荐!

在追求高品质音乐体验的同时,我们也不得不考虑预算的限制,不过市面上有不少百元内平价蓝牙耳机,它们在保证音质和舒适度的同时,也兼顾了价格的亲民性,身蓝牙耳机测评的达人,经手过不少的百元蓝牙耳机&#…

考研数学强化,880+660正确打开方式

1800题基础做完了?做的怎么样! 之所以问你做的怎么样,是因为1800题做的好坏,直接决定了你要不要开始做880题和660题。 有的同学1800题做的很好,做完1800题之后开始做880660没毛病 但是有的同学就是纯纯的为了做题而…

1980python个性化电影推荐管理系统mysql数据库Django结构layUI布局elasticsearch存储计算机软件工程网页

一、源码特点 python Django个性化电影推荐管理系统是一套完善的web设计系统mysql数据库 利用elasticsearch存储浏览数据 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 开发环境pycharm…

3dmax怎么渲染又快又清晰?

在3ds Max中,追求快速且清晰的渲染效果是每个设计师的目标。云渲染技术的出现,为这一目标提供了强大的支持。通过云渲染,设计师能够利用远程服务器的强大计算能力,实现快速渲染,同时保持图像的高清晰度。 一、3dmax怎么…