Resource Manager :- The Resource Manager is the ultimate authority that arbitrates resources among all the applications in the system.
[The Resource Manager has two main components: Scheduler and Applications Manager.
Scheduler :- 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.
(Container 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 Capacity Scheduler and the Fair Scheduler would be some examples of the plug-in.)
Applications Manager :- The Applications Manager is responsible for accepting job-submissions, negotiating the first container for executing the application specific Application Master and provides the service for restarting the Application Master container on failure.
]
Node Manager :- The Node Manager is a per-node slave and 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.
Application Master :- The per-application Application Master is, in effect, a framework specific library and is tasked with negotiating resources from the Resource Manager and working with the Node Manager(s) to execute and monitor the tasks. It has the responsibility of negotiating appropriate resource containers from the Scheduler, tracking their status and monitoring for progress.
No comments:
Post a Comment