英文看着头大,先试着翻译一下。 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) |