统一资源管理和调度框架Yarn

news/2024/12/17 15:03:59/文章来源:https://www.cnblogs.com/java-note/p/18612514
  1. Yarn简介
    • Yarn(Yet Another Resource Negotiator)是Hadoop生态系统中的资源管理和调度框架。它的主要作用是管理集群中的计算资源(如CPU、内存等),并对运行在集群上的应用程序进行调度。
    • 在传统的Hadoop 1.0中,MapReduce既是计算模型又是资源管理和调度框架,这种紧耦合的设计在面对多种计算框架和复杂的应用场景时存在诸多局限。Yarn的出现将资源管理和作业调度/监控的功能从MapReduce中分离出来,使得多种计算框架(如MapReduce、Spark、Flink等)可以共享集群资源。
  2. Yarn的基本架构
    • ResourceManager(RM)
      • 它是Yarn集群中的主节点管理组件。主要负责整个集群资源的统一管理和分配。例如,它会跟踪集群中各个节点的可用资源情况,包括每个节点的CPU核心数、内存大小等信息。
      • RM接收来自各个应用程序(Application)的资源请求,然后根据调度策略(如公平调度、容量调度等)将资源分配给不同的应用程序。
    • NodeManager(NM)
      • 运行在集群中的每个计算节点上。它负责管理本节点的资源,包括向ResourceManager汇报本节点的资源使用情况(如已使用的CPU、内存,还剩余多少资源等)。
      • NM还负责启动和停止容器(Container)。容器是Yarn中资源分配的基本单位,它封装了一定量的CPU、内存等资源,应用程序的任务(如MapReduce中的Map任务或Reduce任务)在容器中运行。
    • ApplicationMaster(AM)
      • 当一个应用程序提交到Yarn集群时,ResourceManager会为该应用程序启动一个ApplicationMaster。AM负责和ResourceManager协商资源,并且管理和监控应用程序内部各个任务的执行。
      • 例如,在一个MapReduce应用程序中,ApplicationMaster会根据任务的优先级和资源需求,向ResourceManager请求Map任务和Reduce任务所需的容器资源,并且在任务执行过程中监控任务的进度和状态,当任务失败时可以进行重新调度。
  3. Yarn的工作流程
    • 应用程序提交阶段:用户将应用程序提交到Yarn集群,这个应用程序可以是MapReduce作业、Spark应用等。此时,应用程序会向ResourceManager发送启动请求。
    • 资源分配阶段:ResourceManager收到请求后,会根据调度策略为该应用程序分配一个ApplicationMaster,并在集群中的某个节点上启动它。然后,ApplicationMaster会根据应用程序的需求向ResourceManager请求容器资源。
    • 任务执行阶段:ResourceManager根据资源的可用性和调度策略为ApplicationMaster分配容器。ApplicationMaster将应用程序的任务(如MapReduce中的Map任务)分发到分配好的容器中,由NodeManager在容器中启动和执行任务。在任务执行过程中,NodeManager会不断向ResourceManager汇报资源使用情况和任务状态,ApplicationMaster也会监控任务的执行情况。
    • 应用程序完成阶段:当应用程序的所有任务都执行完成后,ApplicationMaster会向ResourceManager注销自己,释放所有占用的资源。
  4. Yarn的调度策略
    • 公平调度(Fair Scheduling)
      • 公平调度的目标是让所有的应用程序在长时间内能够公平地共享集群资源。它会将资源平均分配给每个应用程序,确保每个应用程序都能获得一定的资源来执行任务。
      • 例如,假设有两个应用程序A和B同时提交到集群,在公平调度策略下,集群的资源会被平均分配给A和B,使得它们能够同时开始执行任务,而不是一个应用程序占用全部资源,另一个等待。
    • 容量调度(Capacity Scheduling)
      • 容量调度是将集群资源划分成多个队列,每个队列有一定的资源容量。不同的应用程序可以被分配到不同的队列中,每个队列可以独立地进行资源分配和调度。
      • 例如,企业可以根据部门划分队列,如研发部门队列、测试部门队列等。研发部门队列可以被分配70%的集群资源,测试部门队列可以被分配30%的集群资源,这样可以确保每个部门的应用程序都能在自己所属的队列资源范围内进行合理的调度。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows-清除电脑(主文件夹)中“最近使用的文件”(痕迹)

如何清除电脑(主文件夹)中 “最近使用的文件”(痕迹)? (1)在任务栏这里点击 “三个点” 的图表,然后选择 “选项”。 (2)点击 “隐私” 选项卡下的“清除”按钮。 然后点击 “刷新” 按钮,即可清除 “最近使用的文件” 。 (3)设置不记录 “最近使用的文件” 。 第…

OpenHarmony测试RS232/RS485串口方法,触觉智能SBC3528工控主板演示

为大家介绍在鸿蒙系统下,没有串口工具的情况下如何测试RS232/RS485,触觉智能SBC3528工控主板演示教大家介绍在OpenHarmony系统,没有串口工具的情况下如何测试RS232/RS485,使用触觉智能SBC3528工控主板演示,搭载了瑞芯微RK3568四核处理器,板载2路RS232+4路隔离RS485,集成…

天虎程序Phone APP下载设置定位失败怎么解决

天虎程序Phone的APP拨号软件怎么下载呢?首先用浏览器扫描二维码,点击下载,然后按照提示安装就可以,这个非常简单。下载后,点击软件界面按####加拨号连接蓝牙,蓝牙连接好后就可以正常使用了。请联系图片上电话或微心 2081003456 索取下载phone程序APP 定位失败更换APP即可…

Express的使用笔记10 给登录接口添加返回token与其它接口进行token校验处理

按照常规,用户登录成功的时候是会返回一个token值,前端就可以将这个token存储到cookie中随后在其他接口使用的时候放置在Headers中进行传递。 实现这个功能,首先需要了解JWT Secret(密钥)与JWT(Token)。 JWT Secret (密钥):这是一个私有的字符串,仅在服务器端使用。 它…

ingsollrang英格索兰IC直流电动拧紧控制器维修

随着智能装配的概念逐渐在行业内推广,质量管理已成为实现智能装配过程中的一个重要环节,许多客户都有着数据记录、扭矩检测的需求,英格索兰的多种拧紧工具配合控制器,可以满足从基本拧紧到质量管理的一系列需求,真正实现高级装配。 一、ingsollrang英格索兰IC直流电动拧紧…

【笔记】一些简单、基础的东西

一些简单的东西存储大小bit:位,简写为 bbyte:字节,简写为 B;一个字节占 8 位。k:千(1000)K/Ki:千(1024)ASCII10:enter、32:space48:065:A97:a

进阶篇:3.2.3 DFM钣金-弯管件设计

管材最小弯曲半径: 自己生活会变的更开心

X.3 一维梁

X.3 一维梁 一维连续系统 ​​ 本图中,w表示梁在z方向的挠度(deflection,或位移),f表示每单元长度受到的横向力(transverse force),T表示弦(string)受到的张力。 对于一维张紧弦,其控制方程为: \[\begin{equation}T\frac{d^2w}{dx^2}+f\begin{pmatrix}x\end{pmatri…

11.21 每日总结(设计模式)

今天继续设计模式 简单单工厂模式定义:定义了一个创建对象的类,由这个类来封装实例化对象的行为。

kali启动报“piix4_smbus 0000:00:07.3: SMBus Host controller not enabled”

问题:piix4_smbus 0000:00:07.3: SMBus Host controller not enabled 解决办法:增大内存

游戏场景

需要用的场景需要拖进去 场景跳转 最简单 场景类 场景管理类 两个场景叠加 场景加载卡顿 换如下方法 异步加载多线程 场景管理类先引用 场景非自动跳转