Hadoop-2.2.0学习之三YARN简介
2014-05-07 18:11
141 查看
MapReduce在hadoop-0.23版本中进行了完全的检查修改,并发展为了现在称之为的MapReduce2.0(MRv2)或者YARN。YARN的基本想法是将JobTracker的两个主要功能资源管理和作业调度监控分开为独立的后台进程,目标是拥有一个全局ResourceManager (RM)和每个应用程序一个的ApplicationMaster (AM)。一个应用程序或者是从经典MapReduce作业角度来看的一个单独作业,或者是这种作业的一个有向无环图(DAG)
ResourceManager和从节点的NodeManager(NM)组成了数据计算框架,ResourceManager是协调系统中所有应用程序之间资源的最终权威。事实上,ApplicationMaster是框架特定的类库,任务是从ResourceManager协调资源以及同NodeManager一起工作进行任务的执行和监控。下图为YARN的架构示意图。
ResourceManager有两个主要的组件:调度器(Scheduler)和应用程序管理器(ApplicationsManager)。
调度器负责在各种运行的,受制于计算机容量、队列等约束条件的应用程序之间分配资源。调度器在某种意义上是纯的调度器,因为它不监控或者跟踪应用程序的状态,并且不提供重启失败任务的保证,无论任务失败是由于应用程序还是硬件问题。调度器在应用程序对资源的需求基础上执行调度功能,这样做是基于resourceContainer 的抽象概念,resourceContainer 整合了内存、CPU、硬盘、网络等。在第一个版本中,resourceContainer 只包含了内存。
调度器有插件策略,负责在不同队列,应用程序之间分隔集群资源。当前的MapReduce调度器比如CapacityScheduler和FairScheduler有插件的例子可以参考。CapacityScheduler支持层次队列以允许更加可预测的分享集群资源。
应用程序管理器负责接受作业的提交,协调第一个容器用于执行特定于ApplicationMaster的应用程序,提供ApplicationMaster容器失败时的重启服务。
NodeManager是每台主机一个的框架代理,负责容器,监听资源(CPU,内存,硬盘,网络)的使用并报告给ResourceManager/Scheduler(调度器)。
每个应用程序的ApplicationMaster负责从调度器协商合适的资源容器,跟踪应用程序的状态和监控运行情况。
YARN包含了对之前稳定版本的API兼容性,也就是所有的MapReduce作业不需要做任何修改仅仅重新编译就可在YARN上运行。
ResourceManager和从节点的NodeManager(NM)组成了数据计算框架,ResourceManager是协调系统中所有应用程序之间资源的最终权威。事实上,ApplicationMaster是框架特定的类库,任务是从ResourceManager协调资源以及同NodeManager一起工作进行任务的执行和监控。下图为YARN的架构示意图。
ResourceManager有两个主要的组件:调度器(Scheduler)和应用程序管理器(ApplicationsManager)。
调度器负责在各种运行的,受制于计算机容量、队列等约束条件的应用程序之间分配资源。调度器在某种意义上是纯的调度器,因为它不监控或者跟踪应用程序的状态,并且不提供重启失败任务的保证,无论任务失败是由于应用程序还是硬件问题。调度器在应用程序对资源的需求基础上执行调度功能,这样做是基于resourceContainer 的抽象概念,resourceContainer 整合了内存、CPU、硬盘、网络等。在第一个版本中,resourceContainer 只包含了内存。
调度器有插件策略,负责在不同队列,应用程序之间分隔集群资源。当前的MapReduce调度器比如CapacityScheduler和FairScheduler有插件的例子可以参考。CapacityScheduler支持层次队列以允许更加可预测的分享集群资源。
应用程序管理器负责接受作业的提交,协调第一个容器用于执行特定于ApplicationMaster的应用程序,提供ApplicationMaster容器失败时的重启服务。
NodeManager是每台主机一个的框架代理,负责容器,监听资源(CPU,内存,硬盘,网络)的使用并报告给ResourceManager/Scheduler(调度器)。
每个应用程序的ApplicationMaster负责从调度器协商合适的资源容器,跟踪应用程序的状态和监控运行情况。
YARN包含了对之前稳定版本的API兼容性,也就是所有的MapReduce作业不需要做任何修改仅仅重新编译就可在YARN上运行。
相关文章推荐
- Hadoop-2.2.0学习之三YARN简介
- Hadoop-2.2.0学习之一Hadoop-2.2.0变化简介
- Hadoop-2.2.0学习之一Hadoop-2.2.0变化简介
- Hadoop-2.2.0学习之一Hadoop-2.2.0变化简介
- 大数据学习笔记1--hadoop简介和入门
- hadoop学习第三节:CentOS7下hadoop2.2.0 安装并启动,含错误整理
- Hadoop学习笔记之Hadoop简介
- Hadoop 学习笔记 (八) hadoop2.2.0 测试环境部署 及两种启动方式
- Hadoop2.2.0稳定版安装__伪分布式模式__Hadoop2.0入门学习一
- Hadoop学习第七次:MapReduce简介
- Hadoop 学习总结之一:HDFS简介
- <hadoop学习历程>--笔记心得2-hadoop家族简介
- 大数据学习笔记——hadoop1.2.1 MapReduce简介
- Hadoop 学习笔记 (九) hadoop2.2.0 生产环境部署 HDFS HA部署方法
- hadoop2.2.0开机启动的后台服务脚本(请结合上一篇学习)
- Hadoop 学习总结之一:HDFS简介
- Hadoop 学习总结之一:HDFS简介
- Apache Spark学习:将Spark部署到Hadoop 2.2.0上
- [置顶] hadoop学习路线之:ant简介及其使用
- hadoop2.7.2学习笔记05-hadoop文件系统API定义-简介