Hadoop - YARN 概述

基于 transformer、lstm、LSTM多特征的交通流量预测 完整数据代码 超全项目 本科硕士毕设卓卓有余 阅读详情
一 概述

      Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它 是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。                      

   
                                           

         YARN最初是为了修复MapReduce实现里的明显不足,并对可伸缩性(支持一万个节点和二十万个内核的集群)、可靠性和集群利用率进行了提升。YARN实现这些需求的方式是,把Job Tracker的两个主要功能(资源管理和作业调度/监控)分成了两个独立的服务程序——全局的资源管理(RM)和针对每个应用的应用 Master(AM),这样一个应用要么是传统意义上的MapReduce任务,要么是任务的有向无环图(DAG)。

           YARN从某种那个意义上来说应该算做是一个云操作系统,它负责集群的资源管理。在操作系统之上可以开发各类的应用程序,例如批处理MapReduce、流式作业Storm以及实时型服务Storm等。这些应用可以同时利用Hadoop集群的计算能力和丰富的数据存储模型, 共享同一个Hadoop 集群和驻留在集群上的数据。 此外,这些新的框架还可以利用YARN的资源管理器,提供新的应用管理器实现。

二 YARN的组成

                                        
                                
                                              YARN的基本组成
 
YARN的核心思想 将JobTracker和TaskTacker进行分离,它由下面几大构成组件: 
        a. 一个全局的资源管理器  ResourceManager
        b.  ResourceManager 的每个节点代理  NodeManager
        c. 表示每个应用的 ApplicationMaster
        d. 每一个 ApplicationMaster 拥有多个Container在 NodeManager 上运行

下面对它们做一个简单的介绍:

  1. ResourceManager(RM)

         RM是一个全局的资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager,ASM)。
     
      调度器   调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序。需要注意的是,该调度器是一个“纯调度器”,它不再从事任何与具体应用程序相关的工作,比如不负责监控或者跟踪应用的执行状态等,也不负责重新启动因应用执行失败或者硬件故障而产生的失败任务,这些均交由应用程序相关的ApplicationMaster完成。调度器仅根据各个应用程序的资源需求进行资源分配,而资源分配单位用一个抽象概念“资源容器”(Resource Container,简称Container)表示,Container是一个动态资源分配单位,它将内存、CPU、磁盘、网络等资源封装在一起,从而限定每个任务使用的资源量。此外,该调度器是一个可插拔的组件,用户可根据自己的需要设计新的调度器,YARN提供了多种直接可用的调度器,比如Fair Scheduler和Capacity Scheduler等。

       应用程序管理器   应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动它等。

  2. ApplicationMaster(AM)

          用户提交的每个应用程序均包含一个AM,主要功能包括:
          与RM调度器协商以获取资源(用Container表示);
           将得到的任务进一步分配给内部的任务(资源的二次分配);
          与NM通信以启动/停止任务 ;
          监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。
   
      当前YARN自带了两个AM实现,一个是用于演示AM编写方法的实例程序distributedshell,它可以申请一定数目的Container以并行运行一个Shell命令或者Shell脚本;另一个是运行MapReduce应用程序的AM—MRAppMaster。

       注:RM只负责监控AM,在AM运行失败时候启动它,RM并不负责AM内部任务的容错,这由AM来完成。

  3. NodeManager(NM)
        NM是每个节点上的资源和任务管理器,一方面,它会定时地向RM汇报本节点 上的资源使用情况和各个Container的运行状态;另一方面,它接收并处理来自AM的Container启动/停止等各种请求。

    4. Container
           Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM为AM返回的资源便是用Container表示。YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。

     注:1. Container不同于MRv1中的slot,它是一个动态资源划分单位,是根据应用程序的需求动态生成的。
            2.  现在YARN仅支持CPU和内存两种资源,且使用了轻量级资源隔离机制Cgroups进行资源隔离。
      
             YARN的资源管理和执行框架都是按主/从范例实现的——Slave ---节点管理器(NM)运行、监控每个节点,并向集群的Master---资源管理器(RM)报告资源的可用性状态, 资源管理器 最终为系统里所有应用分配资源。

        特定应用的执行由 ApplicationMaster 控制,ApplicationMaster负责将一个应用分割成多个任务,并和资源管理器协调执行所需的资源,资源一旦分配好, ApplicationMaster 就和节点管理器一起安排、执行、监控独立的应用任务。

        需要说明的是, YARN不同服务组件的通信方式采用了 事件驱动的异步并发机制,这样可以简化系统的设计。

四 YARN 架构简析
      
   集中式架构
        集中式调度器(Monolithic Schuduler)的特点是,资源的调度和应用程序的管理功能全部放到一个进程中完成,开源界典型的代表是MRv1 JobTracker的实现。这样设计的缺点很明显,扩展性差:首先,集群规模受限;其次,新的调度策略难以融入到现有代码中,比如之前仅支持MapReduce作业,现在要支持流式作业,而将流式作业的调度策略嵌入到中央调度其中是一项很难的工作。

   双层调度架构
        为了客服集中式调度器的不足,双层调度器是一种很容易被想到的解决之道,它可看作是一种分而治之的机制或者是策略下放机制:双层调度器仍保留一个经简化的集中式资源调度器,但具体任务相关的调度策略则下方到各个应用程序调度器完成。这种调度器的典型代表是Mesos或YARN。Mesos调度器由两部分组成,分别是资源调度器和框架(应用程序)调度器,其中,资源调度器负责将集群中的资源分配给各个(应用程序),而框架(应用程序)调度器负责将资源进一步分配给内部的各个任务,用户很容易将一种框架或者系统接入Mesos.
       
       双层调度器的特点是:各个框架调度器并不知道整个集群资源使用情况,只是被动地接受资源;资源调度器仅将可用的资源推送给各个框架,而由框架自己选择是使用还是拒绝这些资源;一旦框架接受到新资源,再进一步将资源分配给其内部的任务,进而实现双层调度。然而这种调度器也是有缺点,主要表现在以下两个方面:1.各个框架无法知道整个集群的实时资源使用情况;采用悲观锁,并发粒度小。

           详细介绍可以参考这篇论文:


五 小结
          
        随着YARN的不断发展和完善,各种类型的应用程序,包括类似MapReduce的短作业、类似Web Service的长作业等,均可直接部署和运行在YARN上,当前YARN对外提供的接口均是底层接口,这给用户编写和调试应用程序带来了很大的麻烦,比如无法聚集分散在各个节点上的应用程序日志、应用程序生命周期难以管理、缺乏第三方工具将一个现有的系统运行在YARN上等,只有这些问题都得到很好的解决,YARN才可以走向成熟。

使用Matlab实现海洋监视雷达检测仿真 海洋监视雷达是一项重要的海洋探测技术,可以用于海上船只、飞机、潜艇等目标的探测和监视,具有广泛的应用价值。本篇文章将介绍如何使用Matlab进行海洋监视雷达的检测仿真,并提供相应的源代码。本篇文章提供了利用Matlab进行海洋监视雷达检测仿真的基本思路和代码实现。读者可以根据自己的需求进行修改和优化,以适应不同的应用场景。使用Matlab实现海洋监视雷达检测仿真。 阅读详情

相关推荐

RK3568(buildroot)利用squashfs+overlay实现嵌入式系统高可靠存储方案

本文详细介绍了在RK3568嵌入式平台上,基于Buildroot系统,利用squashfs只读根文件系统与overlayfs可写层相结合的高可靠存储方案。该方案能有效防止设备意外断电导致的系统文件损坏,通过内核配置、启动脚本编写及镜像制作,实现系统核心的只读保护与用户数据的持久化分离,显著提升嵌入式设备的现场稳定性。

weixin_29189381的博客 548

大数据之Yarn框架

Yarn框架介绍

weixin_43339889的博客 1442

Cursor+Apifox MCP Server实战:5分钟搞定API自动化测试用例生成

本文详细介绍了如何利用Cursor IDE与Apifox MCP Server,在5分钟内将API文档自动转化为高质量的自动化测试用例。通过配置MCP Server建立数据桥梁,开发者可直接用自然语言指令,让AI基于真实接口规范生成可立即执行的pytest测试代码,大幅提升接口测试效率,特别适合快节奏的SaaS项目。

ooo22的博客 533

Hadoop的第三大组成:YARN框架

YARN是一个分布式资源调度系统,专门用来给分布式计算程序提供计算资源的,而且YARN只负责进行资源的提供,不管计算程序的逻辑,因此YARN这个软件非常的成功,因为YARN不关注程序计算逻辑,因此只要是分布式计算程序,只要满足YARN的运行要求,那么就可以在YARN上进行运行,由YARN进行资源调度。YARN提供一个web网站,http://ip:8088,通过这个web网站,可以查看YARN集群的资源信息和队列信息,以及可以查看YARN上运行的分布式计算程序的状态以及运行的日志输出。

IT小小白的博客 1522

COMSOL两相流(相场法)

COMSOL是一款功能非常强大的多物理场仿真软件,拥有可视化和后处理工具,可方便有效的展示您的仿真效果,具有灵活、高效、友好的特点,软件能够为用户提供各类工程问题的解决方案,从而帮助广大研究和工程人员能够在科研上取得新突破。 COMSOL可以实现声学、传热、流体力学、结构力学等方面的模拟仿真,具体模块如下图所示。 COMSOL软件设置流程 定义需要求解的问题类型:针对一个需要仿真的问题,需要先对问题进行分析;分析该问题用到哪些物理场,什么样的几何模型,以及如何设置研究等。该步骤可以使用COMSOL中的

weixin_47139559的博客 1万+

保姆级教程:在RK3568上搞定PR2100K+GC2385双摄(从DTS配置到HAL层补丁)

本文详细介绍了在RK3568平台上调试PR2100K+GC2385双摄系统的完整流程,从DTS配置到HAL层补丁。涵盖硬件连接、媒体控制器拓扑验证、Camera3配置、HAL层特殊补丁及性能优化等关键步骤,帮助开发者快速解决双摄调试中的常见问题,提升嵌入式视觉系统开发效率。

weixin_28724661的博客 196

Hadoop之YARN介绍

yarn:资源调度和任务管理 a、四大组件:(四个进程) ResourceManager(Rm):主进程 Nodemanager(NM):各个机器节点管理器 ApplicationMaster(AM):申请资源 Container容器:处理各个节点分布式作业的 YARN架构介绍: YARN执行流程: 1、client连接RM提交作业,RM给client一个JobId(ApplicationManager和ResourceScheduler) 2、RM中的Application...

有的话没说出来之前,你是他的主人,一旦说出来你就成了他的奴隶||想要干好事,别太把自己当人,别把别人太不当人||认识这个人就是开了一扇窗户,就能看到不一样的东西,听到不一样的声音,能让你思考、觉悟,这已经够了 5357

CAN(2)-GD32

GD32中CAN的特征。

小柚子的博客 553

YARN 的介绍

YARN 的介绍

slb190623的博客 991

【Android 教程系列第 30 篇】为什么要为 App 应用加固 ?如何为 App 应用加固 ?

一:为什么要为 App 应用加固 ? 二:如何为 App 应用加固 ? 三:加固后为什么要重新签名 ?

“Allen Su”的博客 7053

OpenClaw 预置技能完全指南

OpenClaw 技能(Skills)是扩展 AI 助手能力的插件系统。🔐 管理密码和敏感信息(1Password)📝 操作 Apple Notes 和 Reminders🔍 实时搜索互联网(Brave Search)🎨 生成和编辑图片(Nano Banana Pro)📧 收发邮件(Himalaya)🏠 控制智能家居(OpenHue、Eight Sleep)💬 发送消息(iMessage、WhatsApp、Slack)🎵 控制音乐播放(Spotify、Sonos)

Maynor的博客 1703

YARN详解

YARN是第二代MapReduce,即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的;通俗讲就是资源管理器.将 MR1 中资源管理和作业调度两个功能分开,分别由 ResourceManager 和 ApplicationMaster 进程来实现。ResourceManager : 负责整个集群的资源管理和调度。

早拾碗吧的博客 2491

ESP32设备驱动-AS5600磁性旋转位置传感器

AS5600 是一款可编程的 12 位高分辨率非接触式磁性旋转位置传感器。 AS5600可以作为磁性电位器或磁性编码器使用,具有出色的可靠性和耐用性。 与传统电位器/编码器相比,AS5600具有显着优势:高精度、非接触式、旋转角度无限制。 所有这些优点使其适用于非接触式角度测量应用,例如机器人手臂、云台、电机闭环控制、机床轴定位。

视觉与物联智能 2551

Hadoop之Yarn概述

Hadoop核心组件Yarn的概述,包括定义,工作流程,常用命令等

yanghao201607030101的博客 819

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

hadoop-yarn 概述

hadoop-yarn 概述1、YARN 概述2、原 MapReduce1.x 框架的不足3、新版 YARN 架构的优点4、YARN 的重要概念4.1、ResourceManager4.2、NodeManager4.3、MRAppMaster4.4、Container4.5、ASM4.6、Scheduler5、YARN 架构及各角色职责6、YARN 作业执行流程 1、YARN 概述 YARN(Yet Another Resource Negotiator)是一个资源调度平台,负责为运算程序提供服务器运算资源

weixin_44387652的博客 1077

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Apache Hadoop YARN框架概述

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的Hadoop资源管理器。YARN是一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度。它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。如何理解通用资源管理系统和调度平台?资源管理系统:集群的硬件资源,和程序运行相关,比如内存、CPU等。调度平台:多个程序同时申请计算资源如何分配,调度的规则(算法)。

金州饿霸吃不饱的博客 1099

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【Hadoop】YARN概述

YARN概述 YARN的产生背景与简介 YARN基本架构

小哲的博客 533

Apache Hadoop YARN: 背景及概述

从2012年8月开始Apache Hadoop YARN(YARN = Yet Another Resource Negotiator)成了Apache Hadoop的一项子工程。自此Apache Hadoop由下面四个子工程组成: Hadoop Comon:核心库,为其他部分服务Hadoop HDFS:分布式存储系统Hadoop MapReduce:MapReduce模型的开源实现Hado

whbsr516的专栏 852

Hadoop YARN概述

Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。 1.1 Yarn基础架构 YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成。 1.2 YARN工作机制 (1) MR程序提交到客户端所在的节点。 (2)YarnRunner向ResourceManager申请一个Application。 (3)RM将该应用.

mengxianglong123的博客 560

hadoop-Yarn概述

概述 Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在资源利用率、资源统一管理和数据共享等方面带来了巨大好处。 YARN的基本思想是将JobTracker的两个主要功能(资源管理和作业调度/监控)分...

qq_36250202的博客 287

Hadoop的组成,HDFS架构,YARN架构概述

(1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。Yet Another Resource Negotiator,简称YARN,另一种资源协调者,是Hadoop的资源管理器。(4)Container: 容器,相当于一台独立的服务器,里面封装了任务运行时所需要的资源:如内存、cpu、磁盘、网络等等。Hadoop2.X时代,增加了Yarn,Yarn只负责资源的调度,MapReduce只负责运算。

2401_83599586的博客 686

概述Hadoop2.0中Yarn

什么是Yarn Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。 为什么要使用Yarn Hadoop经历主要经历了两个版本。在Hadoop v2.0的版本中...

Dawn_Zi的博客 1030

【Hadoop】- YARN概述[6]

1、YARN是做什么的?YARN是Hadoop的一个组件用以做集群的资源(内存、CPU等)调度2、为什么需要资源调度将资源统一管控进行分配可以提高资源利用率3、程序如何在YARN内运行程序向YARN申请所需资源YARN为程序分配所需资源供程序使用4、MapReduce和YARN的关系YARN用来调度资源给MapReduce分配和管理运行资源所以,MapReduce需要YARN才能执行。

weixin_63106307的博客 657

Hadoop 教程 - Yarn概述

Apache Hadoop YARN(Yet Another Resource Negotiator)是Hadoop生态系统中的核心组件之一,它作为资源管理和任务调度平台,为Hadoop 2.x版本引入的一个重大改进。YARN的设计目标是将Hadoop从一个单一用途的大数据处理框架转变为一个更加通用的数据处理平台,能够支持多种计算模型,包括但不限于MapReduce、Spark、Tez、Hive LLAP等。

qq_33240556的博客 530

Hadoop概述以及HDFS、YARN、MapReduce的架构分析和Hadoop的特点

Hadoop前期学习必备笔记,你值得拥有

weixin_52731998的博客 1150
上一篇: Hadoop -YARN ResourceManager 剖析
下一篇: Hadoop - YARN 启动流程
张哲BJUT
博客等级 码龄15年 151粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值