MapReduce has undergone a complete overhaul in hadoop-0.23 and we now have, what we call, MapReduce 2.0 (MRv2) or YARN.
The fundamental idea of MRv2 is to split up the two major functionalities of the JobTracker, resource management and job scheduling/monitoring, into separate daemons. The idea is to have a global ResourceManager (RM) and per-application ApplicationMaster (AM). An application is either a single job in the classical sense of Map-Reduce jobs or a DAG of jobs.
The ResourceManager and per-node slave, the NodeManager (NM), form the data-computation framework. The ResourceManager is the ultimate authority that arbitrates resources among all the applications in the system.
The per-application ApplicationMaster is, in effect, a framework specific library and is tasked with negotiating resources from the ResourceManager and working with the NodeManager(s) to execute and monitor the tasks.
The ResourceManager has two main components: Scheduler and ApplicationsManager.
The Scheduler is responsible for allocating resources to the various running applications subject to familiar constraints of capacities, queues etc. The Scheduler is pure scheduler in the sense that it performs no monitoring or tracking of status for the application. Also, it offers no guarantees about restarting failed tasks either due to application failure or hardware failures. The Scheduler performs its scheduling function based the resource requirements of the applications; it does so based on the abstract notion of a resourceContainer which incorporates elements such as memory, cpu, disk, network etc. In the first version, only memory is supported.
The Scheduler has a pluggable policy plug-in, which is responsible for partitioning the cluster resources among the various queues, applications etc. The current Map-Reduce schedulers such as the CapacityScheduler and the FairScheduler would be some examples of the plug-in.
The CapacityScheduler supports hierarchical queues to allow for more predictable sharing of cluster resources
The ApplicationsManager is responsible for accepting job-submissions, negotiating the first container for executing the application specific ApplicationMaster and provides the service for restarting the ApplicationMaster container on failure.
The NodeManager is the per-machine framework agent who is responsible for containers, monitoring their resource usage (cpu, memory, disk, network) and reporting the same to the ResourceManager/Scheduler.
The per-application ApplicationMaster has the responsibility of negotiating appropriate resource containers from the Scheduler, tracking their status and monitoring for progress.
MRV2 maintains API compatibility with previous stable release (hadoop-0.20.205). This means that all Map-Reduce jobs should still run unchanged on top of MRv2 with just a recompile.
http://archive.cloudera.com/cdh5/cdh/5/hadoop/hadoop-yarn/hadoop-yarn-site/YARN.html
相关推荐
包org.apache.hadoop.mapreduce的Hadoop源代码分析
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-jobclient:2.6.5; 标签:apache、mapreduce、jobclient、client、hadoop、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index....
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-core:2.5.1; 标签:core、apache、mapreduce、client、hadoop、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html...
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-core:2.7.3; 标签:apache、hadoop、mapreduce、client、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”...
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-app:2.7.3; 标签:apache、hadoop、mapreduce、client、app、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件...
标签:apache、mapreduce、common、client、hadoop、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持...
hadoop-mapreduce-examples-2.7.1.jar
赠送jar包:hadoop-mapreduce-...标签:apache、mapreduce、jobclient、client、hadoop、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-app:2.6.5; 标签:apache、mapreduce、client、hadoop、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”...
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-app:2.6.5; 标签:apache、mapreduce、client、hadoop、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可...
对应Maven信息:groupId:org.apache.hadoop,artifactId:hadoop-mapreduce-client-core,version:2.6.5 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档...
hadoop-mapreduce-examples-2.6.5.jar 官方案例源码
org.apache.hadoop.yarn.applications.distributedshell org.apache.hadoop.yarn.client org.apache.hadoop.yarn.client.cli org.apache.hadoop.yarn.logaggregation org.hadoop.yarn.client
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-common:2.7.3; 标签:apache、hadoop、mapreduce、client、common、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html...
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-jobclient:2.5.1; 标签:apache、hadoop、mapreduce、client、jobclient、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index....
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-jobclient:2.7.3; 标签:apache、hadoop、mapreduce、client、jobclient、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开...
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-jobclient:2.5.1; 标签:apache、hadoop、mapreduce、client、jobclient、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开...
Hadoop.MapReduce 和 YARN 笔记 本节笔记主要介绍了 Hadoop.MapReduce 和 YARN 的基本概念、组成部分、工作原理以及实践应用。 一、MapReduce 概念 MapReduce 是 Hadoop 的核心组件之一,负责处理大规模数据。...
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-shuffle:2.5.1; 标签:apache、hadoop、mapreduce、client、shuffle、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”...