yarn的初步理解
查考site: http://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-site/YARN.html
yarn结构图如下:
1、yarn
下一代的MapReduce系统框架,也称为MRv2(MapReduce version 2), 它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。
YARN的基本思想是将JobTracker的两个主要功能(资源管理和作业调度/监控)分离,主要方法是创建一个全局的ResourceManager(RM)
和若干个针对应用程序的ApplicationMaster(AM)。这里的应用程序是指传统的MapReduce作业或作业的DAG。
2、ResourceManager(RM)
RM和与NM(NodeManager每个节点一个)共同组成整个数据计算框架,RM是系统中将资源分配给各个应用的最终决策者。
RM有两个组件组成:
调度器(Scheduler)
应用管理器(ApplicationsManager,ASM)
调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序。
需要注意的是,该调度器是一个“纯调度器”,它不再从事任何与具体应用程序相关的工作,比如不负责监控或者跟踪应用的执行状态等,也不负责重新启动
因应用执行失败或者硬件故障而产生的失败任务,这些均交由应用程序相关的ApplicationMaster完成。调度器仅根据各个应用程序的资源需求进行资源分配,
而资源分配单位用一个抽象概念“资源容器”(Resource Container,简称Container)表示,Container是一个动态资源分配单位,它将内存、CPU、磁盘、网络等资源封装在一起,
从而限定每个任务使用的资源量。此外,该调度器是一个可插拔的组件,用户可根据自己的需要设计新的调度器,YARN提供了多种直接可用的调度器,比如Fair Scheduler和Capacity Scheduler等。
3、NodeManager(NM)
NM是每个节点上的资源和任务管理器,一方面,它会定时地向RM汇报本节点上的资源使用情况和各个Container的运行状态;另一方面,它接收并处理来自AM的Container启动/停止等各种请求。
4、ApplicationsManager(ASM)
ASM主要负责接收作业,协商获取第一个容器用于执行AM和提供重启失败AM container的服务。
5、ApplicationMaster(AM)
AM实际上是一个具体的框架库,它的任务是【与RM协商获取应用所需资源】和【与NM合作,以完成执行和监控task的任务】。
注:RM只负责监控AM,在AM运行失败时候启动它,RM并不负责AM内部任务的容错,这由AM来完成。
6、Container
Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM为AM返回的资源便是用Container表示。
YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。
最新文章
- github中的watch、star、fork的作用
- 深度理解Jquery 中 offset() 方法
- android Dialog&;AlertDialog
- jdk 设计模式
- [deviceone开发]-HeaderView和FooterView的示例
- electron开发(一)
- Xcode常用的快捷键有哪些?
- Java DecimalFormat 格式化数字
- 在PHP中如何连接到数据库
- selenium高级用法
- MVC学习笔记3 - JsRender
- 数据库和 MySQL 简介(真的只是简介)
- jdbc连接sqlserver,mysql,oracle
- Linux实战
- nginx做yum源
- 9.9 翻译系列:数据注解特性之--MaxLength 【EF 6 Code-First系列】
- Python-浮动 清浮动
- debian及ubuntu挂载本地硬盘的ISO镜像文件
- (转)关于yuv 格式:planar和semi-planar格式
- 命令式语言和声明式语言对比——JavaScript实现快速排序为例
热门文章
- SQL Prompt Snippet Manager 妙用
- SQL SERVER while循环
- Spring Security Encryption三种加密方式
- redis数据类型(字符串)
- ARM开发板系统移植-----rootfs的制作
- WPF自定义窗口(Windows Server 2012 Style)
- 子元素增加margin-top会增加给父元素的问题
- android按行读取文件内容的几个方法
- thinkphp3.2 namespace及use用法
- MYSQL 错误 :Out of resources when opening file './datagather/mx_domain#P#p178.MYD' (Errcode: 24) 解决办法