查考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中描述的资源。

最新文章

  1. github中的watch、star、fork的作用
  2. 深度理解Jquery 中 offset() 方法
  3. android Dialog&AlertDialog
  4. jdk 设计模式
  5. [deviceone开发]-HeaderView和FooterView的示例
  6. electron开发(一)
  7. Xcode常用的快捷键有哪些?
  8. Java DecimalFormat 格式化数字
  9. 在PHP中如何连接到数据库
  10. selenium高级用法
  11. MVC学习笔记3 - JsRender
  12. 数据库和 MySQL 简介(真的只是简介)
  13. jdbc连接sqlserver,mysql,oracle
  14. Linux实战
  15. nginx做yum源
  16. 9.9 翻译系列:数据注解特性之--MaxLength 【EF 6 Code-First系列】
  17. Python-浮动 清浮动
  18. debian及ubuntu挂载本地硬盘的ISO镜像文件
  19. (转)关于yuv 格式:planar和semi-planar格式
  20. 命令式语言和声明式语言对比——JavaScript实现快速排序为例

热门文章

  1. SQL Prompt Snippet Manager 妙用
  2. SQL SERVER while循环
  3. Spring Security Encryption三种加密方式
  4. redis数据类型(字符串)
  5. ARM开发板系统移植-----rootfs的制作
  6. WPF自定义窗口(Windows Server 2012 Style)
  7. 子元素增加margin-top会增加给父元素的问题
  8. android按行读取文件内容的几个方法
  9. thinkphp3.2 namespace及use用法
  10. MYSQL 错误 :Out of resources when opening file './datagather/mx_domain#P#p178.MYD' (Errcode: 24) 解决办法