Hadoop YARN的基本组成和工作流程

Hadoop YARN是一个通用的资源管理平台,旨在分离资源管理与作业调度,通过全局的ResourceManager和应用管理器ApplicationMaster实现。YARN支持MapReduce、Storm、Spark等多种计算框架,资源以Container形式进行统一管理和调度,并采用Cgroups进行资源隔离。工作流程包括客户端提交应用、ResourceManager分配Container、NodeManager执行任务、ApplicationMaster协调任务等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
  1. 介绍:
    ①YARN(Yet Another Resource Negotiator)
    ②通用的资源管理平台
    ③为各类计算框架提供资源的管理和调度
    ④核心出发点为了分离资源管理、作业调度/监控
    ⑤实现分离的做法是拥有一个全局的资源管理器(ResourceManager)
    ⑥每一个应用程序对应一个应用管理器(ApplicationMaster)
    ⑦应用程序由一个作业(job)或者job的有向无环图DAG组成
  2. YARN可以将多种计算框架部署到一个公共集群中,共享集群的资源
    ① 离线处理MapReduce
    ② 在线处理Storm
    ③ 迭代式计算框架Spark
    ④ 流式处理框架S4

YARN提供功能:
资源的统一管理和调度
集群中所有节点的资源(内存、CPU、磁盘、网络等)抽象为Container。计算框架需要资源进行运算任务时向YARN申请Container,YARN按照特定的策略对资源进行调度进行Container的分配。
资源隔离
YARN使用了轻量级资源隔离机制Cgroups进行资源隔离以避免相互干扰,一旦Container使用的资源量超过事先定义的上限值,就将其杀死。

3.YARN总体上是Master/Slave结构,主要由ResourceManager、NodeManager、ApplicationMaster和Container几个组件组成。
1、resourcemanager
   主要负责资源的调度和应用程序的管理
  (1)调度器
   调度器是将系统中的资源分配给各个正在运行的应用程序。
  (2)应用程序管理
   负责管理所有applicationmaster
2、nodemanager
   定时告诉resourceManger,node节点的资源使用情况;任务的启动与停止
3、applicationmaster
    向resourceManager请求资源,监听任务的执行进度
4、container
   资源的抽象(包括cpu,内存等信息),当applicationMaster向resourceManager请求资源的时候, 就是以Container抽象资源的形式返回,
限制资源的使用情况
在这里插入图片描述

  1. YARN应用工作流程:

1、client向yarn提交一个应用程序
2、resourceManager为改应用程序分配一个Container,与对应的nodeManager进行通信, 要 求它在此container中启动appmaster
3、appmaster向rm注册,这样用户可以直接通过rm查看应用程序的运行状态
4、appmaster为各个任务想rm请求资源
5、请求到资源后与nodeManager进行通信,要求启动任务
6、启动任务
7、各个任务向appmaster报告状态和进度
8、appmaster向rm请求注销自己
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值