背景

本文整理一些Hadoop YARN的相关内容。

简介

YARN(Yet Another Resource Negotiator)是Hadoop通用资源管理平台,为各类计算框架(离线MR、在线Storm、内存计算Spark等)提供统一的资源管理和调度。
它提供的功能有:

  • 统一资源管理和调度: 集群中所有节点的资源(内存、CPU、磁盘、网络)抽象为Container。计算框架需要向YARN申请Container,YARN按策略对资源进行调度与Container分配。

  • 资源隔离:YARN使用了轻量级资源隔离机制Cgroup进行资源隔离,避免互相干扰,一旦Container使用资源量超过阈值,即会被干掉。


图片来源于Hadoop官网


YARN最主要的思想是分离资源管理任务调度/监控。先介绍几个名词:

  • ResourceManager,简称RM: 全局管理计算程序的资源分配调度
  • NodeManager,简称NM:负责各个节点的资源与任务管理,会定时向RM汇报本节点的Container使用与运行情况。同时接收并处理来自AM的Container启动、停止等请求。
  • ApplicationMaster,简称AM:每个提交的应用程序都有一个AM,它负责从RM获取资源并与NM协同监控执行应用的执行。
  • Container:Container是某个节点上多维度资源(内存、CPU、磁盘、网络)的抽象,YARN为每个任务分配Container并且任务只能使用该Container所描述的资源。

从上面的官方YARN架构示意图中,可以看到RM负责接收client提交的job,AM负责向RM申请资源,NM向RM汇报本节点资源使用情况等。

RM中主要还包含了两个核心组件:

  • Scheduler:负责根据容量、队列等条件,根据各个应用程序所需将系统中的资源分配给各个应用程序。
  • ApplicationsManager:负责管理整个系统中所有应用程序,包括提交、与调度器协商资源以启动AM,监控AM运行状态并在失败时重启等。

YARN工作流程


图片来源于网络

YARN的具体工作流程为:

  1. 用户提交应用程序
  2. RM为该应用分配Container与对应NM通信,要求NM在Container中启动AM
  3. AM启动后向RM注册
  4. AM通过轮询向RM申请领用Container资源
  5. AM申请到资源后与NM通信,要求启动任务
  6. 运行中的程序会向AM通过协议通信同步运行状态与进度
  7. 在程序执行期间,client与AM通信同步任务状态信息
  8. 应用程序运行完毕后,AM向RM注销并关闭自己,Container资源被释放可以重用

参考

Apache Hadoop官网
Hadoop 新 MapReduce 框架 Yarn 详解

Hadoop YARN简介的更多相关文章

  1. 二十六、Hadoop学习笔记————Hadoop Yarn的简介复习

    1. 介绍 YARN(Yet Another Resource Negotiator)是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度. 之前有提到过,Yarn主要是为了减轻Hadoop ...

  2. hadoop yarn

    简介: 本文介绍了 Hadoop 自 0.23.0 版本后新的 map-reduce 框架(Yarn) 原理,优势,运作机制和配置方法等:着重介绍新的 yarn 框架相对于原框架的差异及改进:并通过 ...

  3. [BigData - Hadoop - YARN] YARN:下一代 Hadoop 计算平台

    Apache Hadoop 是最流行的大数据处理工具之一.它多年来被许多公司成功部署在生产中.尽管 Hadoop 被视为可靠的.可扩展的.富有成本效益的解决方案,但大型开发人员社区仍在不断改进它.最终 ...

  4. Hadoop(一)Hadoop的简介与源码编译

    一 Hadoop简介 1.1Hadoop产生的背景 1. HADOOP最早起源于Nutch.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取.索引.查询等功能,但随着抓取网页数量的增加, ...

  5. Hadoop YARN 100-1知识点

    0 YARN中实体 资源管理者(resource manager, RM) 长时间运行的守护进程,负责管理集群上资源的使用 节点管理者(node manager, NM) 长时间运行的守护进程,在集群 ...

  6. hadoop yarn running beyond physical memory used

    老是报物理内存越界,kill container,然后把yarn.scheduler.minimum-allocation-mb设成2048就好了 跟这个yarn.nodemanager.pmem-c ...

  7. Hadoop YARN配置参数剖析—RM与NM相关参数

    注意,配置这些参数前,应充分理解这几个参数的含义,以防止误配给集群带来的隐患.另外,这些参数均需要在yarn-site.xml中配置. 1.    ResourceManager相关配置参数 (1) ...

  8. Hadoop Yarn内存资源隔离实现原理——基于线程监控的内存隔离方案

    注:本文以hadoop-2.5.0-cdh5.3.2为例进行说明.   Hadoop Yarn的资源隔离是指为运行着不同任务的“Container”提供可独立使用的计算资源,以避免它们之间相互干扰.目 ...

  9. hadoop错误org.apache.hadoop.yarn.exceptions.YarnException Unauthorized request to start container

    错误: 14/04/29 02:45:07 INFO mapreduce.Job: Job job_1398704073313_0021 failed with state FAILED due to ...

随机推荐

  1. 【译】如何更好的使用javascript数组

    赶紧阅读读此文,我保证,在过去的几个月里我,我确定我在数组问题上犯过4次错误.于是我写下这篇文章,阅读这篇文章可以让你更准确的使用javascript数组的一些方法 使用Array.includes替 ...

  2. SQL Server 数据库基础知识

    数据库(Database)是由文件管理系统发展起来的,按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 特点:       尽可能小的冗余度.       具有较高的数据独立性和易扩 ...

  3. thinkphp 网址后台典型页面

    知识点: 1.select a提交后 返回选中项 选中项 value是id 但是要显示name b遍历和列举两种形式 <select name="class_id" clas ...

  4. LDA算法学习(Matlab实现)

    LDA算法 对于两类问题的LDA(Matlab实现) function [ W] = FisherLDA(w1,w2) %W最大特征值对应的特征向量 %w1 第一类样本 %w2 第二类样本 %第一步: ...

  5. 了解java虚拟机—串行回收器(6)

    串行回收器 串行回收器只有一个工作线程,串行回收器可以在新生代和老年代使用,根据作用于不同的堆和空间,分为新生代串行回收器和老年代串行回收器. 1.新生代串行回收器 串行收集器是所有垃圾回收器中最古老 ...

  6. Factorial Problem in Base K(zoj3621)

    Factorial Problem in Base K Time Limit: 2 Seconds Memory Limit: 65536 KB How many zeros are there in ...

  7. N皇后问题hdu2553(dfs)

    N皇后问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  8. Calendar类的一些不易区分的属性

    1.Calendar.MONTH 月份从0-11,获取之后需要加1才能得到真正的月份 2.Calendar.DAY_OF_WEEK 本周的第几天,从星期天开始算 3.Calendar.WEEK_OF_ ...

  9. 关于CSS和JS中用到的各种Height和Width的问题

    自己记不住,列一下关于CSS和JS中用到的各类有关Height和Width属性的介绍对比. 所属类别 属性名 意义 其他 浏览器模型 Screen.height 浏览器窗口所在的屏幕的高度(单位像素) ...

  10. cf232E. Quick Tortoise(分治 bitset dp)

    题意 题目链接 Sol 感觉这个思路还是不错的 #include<bits/stdc++.h> using namespace std; const int MAXN = 501, SS ...