Hadoop YARN简介
背景
本文整理一些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的具体工作流程为:
- 用户提交应用程序
- RM为该应用分配Container与对应NM通信,要求NM在Container中启动AM
- AM启动后向RM注册
- AM通过轮询向RM申请领用Container资源
- AM申请到资源后与NM通信,要求启动任务
- 运行中的程序会向AM通过协议通信同步运行状态与进度
- 在程序执行期间,client与AM通信同步任务状态信息
- 应用程序运行完毕后,AM向RM注销并关闭自己,Container资源被释放可以重用
参考
Apache Hadoop官网
Hadoop 新 MapReduce 框架 Yarn 详解
Hadoop YARN简介的更多相关文章
- 二十六、Hadoop学习笔记————Hadoop Yarn的简介复习
1. 介绍 YARN(Yet Another Resource Negotiator)是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度. 之前有提到过,Yarn主要是为了减轻Hadoop ...
- hadoop yarn
简介: 本文介绍了 Hadoop 自 0.23.0 版本后新的 map-reduce 框架(Yarn) 原理,优势,运作机制和配置方法等:着重介绍新的 yarn 框架相对于原框架的差异及改进:并通过 ...
- [BigData - Hadoop - YARN] YARN:下一代 Hadoop 计算平台
Apache Hadoop 是最流行的大数据处理工具之一.它多年来被许多公司成功部署在生产中.尽管 Hadoop 被视为可靠的.可扩展的.富有成本效益的解决方案,但大型开发人员社区仍在不断改进它.最终 ...
- Hadoop(一)Hadoop的简介与源码编译
一 Hadoop简介 1.1Hadoop产生的背景 1. HADOOP最早起源于Nutch.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取.索引.查询等功能,但随着抓取网页数量的增加, ...
- Hadoop YARN 100-1知识点
0 YARN中实体 资源管理者(resource manager, RM) 长时间运行的守护进程,负责管理集群上资源的使用 节点管理者(node manager, NM) 长时间运行的守护进程,在集群 ...
- hadoop yarn running beyond physical memory used
老是报物理内存越界,kill container,然后把yarn.scheduler.minimum-allocation-mb设成2048就好了 跟这个yarn.nodemanager.pmem-c ...
- Hadoop YARN配置参数剖析—RM与NM相关参数
注意,配置这些参数前,应充分理解这几个参数的含义,以防止误配给集群带来的隐患.另外,这些参数均需要在yarn-site.xml中配置. 1. ResourceManager相关配置参数 (1) ...
- Hadoop Yarn内存资源隔离实现原理——基于线程监控的内存隔离方案
注:本文以hadoop-2.5.0-cdh5.3.2为例进行说明. Hadoop Yarn的资源隔离是指为运行着不同任务的“Container”提供可独立使用的计算资源,以避免它们之间相互干扰.目 ...
- 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 ...
随机推荐
- [游记] HEOI2018酱油记
Day -1 在机房颓颓颓颓颓,晚上得知这次考试题本来是要给 ZJOI2018 用的,结果没用上..可想而知考试的难度.. 但愿不爆零 Day 0 坐了一上午火车,顺便找茁神犇拷了个 COD,然后接着 ...
- 24.ArrayBuffer
ArrayBuffer ArrayBuffer ArrayBuffer对象.TypedArray视图和DataView视图是 JavaScript 操作二进制数据的一个接口.这些对象早就存在,属于独立 ...
- EWS 流通知订阅邮件
摘要 查找一些关于流通知订阅邮件的资料,这里整理一下. 核心代码块 using System; using System.Collections.Generic; using System.Linq; ...
- 二叉搜索树(hdu3791)
二叉搜索树 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- Java JDBC MySQL
一.驱动 下载地址:https://dev.mysql.com/downloads/connector/j/ 二.数据库连接配置 jdbc:mysql://address:port/database? ...
- .net防止SQL注入的一种方式
首先也要明白一点,什么是SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将 ...
- zsh: command not found cnpm,gulp等命令在zsh终端上报错的问题
以cnpm包为例,使用 npm install -g cnpm 创建了cnpm包.而在zsh终端上运行cnpm,出现 zsh: command not found: cnpm 的报错.同样的,gulp ...
- JSON: jasckson 字段 过滤
有这样一个场景存在一个model类如果User,这里省略了getter/setter方法 class User { String name; String uuid; Long created; Lo ...
- JavaScript--事件绑定及深入(26)
// 事件绑定分为两种: // 一种是传统事件绑定(内联模型/脚本模型);上一章内容; // 一种是现代事件绑定(DOM2级模型);现代事件绑定在传统事件绑定基础上提供了更强大的功能; 一 传统事件绑 ...
- python学习之老男孩python全栈第九期_day010知识点总结
def qqxing(l = []): # 可变数据类型 l.append(1) print(l)qqxing() # [1]qqxing([]) # [1]qqxing() # [1, 1]qqxi ...