当前位置: > Linux集群 > Hadoop >

Apache Hadoop下一代MapReduce框架(YARN)简介 (Apache Hadoop NextGen MapReduce (YARN))

时间:2016-07-24 19:24来源:linux.it.net.cn 作者:IT

英文看着头大,先试着翻译一下。

E文原文:http://archive.cloudera.com/cdh5/cdh/5/hadoop/hadoop-yarn/hadoop-yarn-site/YARN.html

翻译真是太难了,而且我翻译的好烂,好烂,有时候自己也只能理解个大概。

====================================begin====================================

MapReduce在hadoop-0.2.3中发生了很大的变化,现在是MapReduce 2.0,又称为YARN。

MRv2的基本思想是将JobTracker的两个主要功能:资源管理和作业调度/监控分割成单独的守护进程。

我们是这样做的:有一个全局的ResourceManager  ( RM),每个应用程序都有一个ApplicationMaster ( AM ) 。一个应用程序既可以是单个的传统意义上的Map-Reduce作业,也可以是单个DAG作业。

数据的计算框架由ResourceManager,每个节点的从站,节点管理器( NM )组成。 ResourceManager是仲裁系统中的所有应用程序的资源的最终者。

ResourceManager中有两个主要组件:Scheduler 和ApplicationsManager 。

Scheduler因为了解容量的限制,队列等,所以负责分配资源至各运行中的应用程序。Scheduler是纯粹的调度程序,它不执行任何监视或跟踪状态的应用程序。此外,它不保证会重新启动失败的任务,无论是因为应用程序错误还是因为硬件故障所导致的。Scheduler履行其调度的功能,对于应用程序的资源需求,它基于抽象出的资源容器的概念,如内存,CPU ,磁盘,网络等等的组合。在第一个版本,它仅仅支持内存。Scheduler有一个可插拔的插件策略,它负责在各种不同的队列,应用程序等中分配群集的资源,比如当前的Map-Reduce调度器中的CapacityScheduler和FairScheduler。

CapacityScheduler支持层次化队列,以允许更多的可预见的共享群集资源。

ApplicationsManager负责接受作业提交,协商用于执行该应用程序特定的ApplicationMaster并提供用于重启因ApplicationMaster容器失败的服务的第一容器。

NodeManager是每台机器的计算框架的代理,它负责容器,监控他们的资源使用情况(CPU ,内存,磁盘,网络)并报告到ResourceManager/Scheduler。

每个应用程序的ApplicationMaster负责从Scheduler协商恰当的资源容器,跟踪他们的状态和监控进程。

MRV2保持与以前的稳定版本(的hadoop - 0.20.205 )API的兼容性 。这意味着所有的Map-Reduce作业只需重新编译一下就可以在MRv2上运行。

=========================================over====================================================

 

(责任编辑:IT)
------分隔线----------------------------