[ 
https://issues.apache.org/jira/browse/MAPREDUCE-279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arun C Murthy updated MAPREDUCE-279:
------------------------------------

    Release Note: 
MapReduce has undergone a complete re-haul in hadoop-0.23 and we now have, what 
we call, MapReduce 2.0 (MRv2).

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 (S)
* ApplicationsManager (ASM)

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 on 
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 Resource 
Container which incorporates elements such as memory, cpu, disk, network etc. 

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 
launching the applications' containers, monitoring their resource usage (cpu, 
memory, disk, network) and reporting the same to the Scheduler.

The per-application ApplicationMaster has the responsibility of negotiating 
appropriate resource containers from the Scheduler, tracking their status and 
monitoring for progress.


  was:
MapReduce has undergone a complete re-haul in hadoop-0.23 and we now have, what 
we call, MapReduce 2.0 (MRv2).

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 (S)
* ApplicationsManager (ASM)


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 on 
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 Resource 
Container which incorporates elements such as memory, cpu, disk, network etc. 

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 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 
launching the applications' containers, monitoring their resource usage (cpu, 
memory, disk, network) and reporting the same to the Scheduler.

The per-application ApplicationMaster has the responsibility of negotiating 
appropriate resource containers from the Scheduler, tracking their status and 
monitoring for progress.


    
> Map-Reduce 2.0
> --------------
>
>                 Key: MAPREDUCE-279
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-279
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: mrv2
>            Reporter: Arun C Murthy
>             Fix For: 0.23.0
>
>         Attachments: MR-279-script-20110817.sh, MR-279-script-final.sh, 
> MR-279-script.sh, MR-279-script.sh, MR-279.patch, MR-279.patch, MR-279.sh, 
> MR-279_MR_files_to_move-20110817.txt, MR-279_MR_files_to_move.txt, 
> MR-279_MR_files_to_move.txt, MapReduce_NextGen_Architecture.pdf, 
> NodeManager.gv, NodeManager.png, ResourceManager.gv, ResourceManager.png, 
> capacity-scheduler-dark-theme.png, hadoop_contributors_meet_07_01_2011.pdf, 
> multi-column-stable-sort-default-theme.png, post-move-patch-20110817.2.txt, 
> post-move-patch-final.txt, post-move.patch, post-move.patch, post-move.patch, 
> yarn-state-machine.job.dot, yarn-state-machine.job.png, 
> yarn-state-machine.task-attempt.dot, yarn-state-machine.task-attempt.png, 
> yarn-state-machine.task.dot, yarn-state-machine.task.png
>
>
> Re-factor MapReduce into a generic resource scheduler and a per-job, 
> user-defined component that manages the application execution.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to