0% found this document useful (0 votes)
30 views3 pages

The Main Components in Apache Hadoop YARN

The document discusses the main components in Apache Hadoop YARN, including the Resource Manager, NodeManager, Container, and ApplicationMaster. The ResourceManager manages cluster-wide resource allocation and job scheduling. NodeManagers manage resources and execute containers on individual nodes. Containers provide isolated execution environments for tasks. ApplicationMasters manage application lifecycles and coordinate task execution.

Uploaded by

sudip pokhrel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views3 pages

The Main Components in Apache Hadoop YARN

The document discusses the main components in Apache Hadoop YARN, including the Resource Manager, NodeManager, Container, and ApplicationMaster. The ResourceManager manages cluster-wide resource allocation and job scheduling. NodeManagers manage resources and execute containers on individual nodes. Containers provide isolated execution environments for tasks. ApplicationMasters manage application lifecycles and coordinate task execution.

Uploaded by

sudip pokhrel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

the main components in Apache Hadoop YARN, including their main functionality and how they

communicate:

1. Resource Manager (RM):

 Functionality: The Resource Manager is the central authority for resource management
and job scheduling in a YARN cluster.

 Main Functionality:

 Allocates resources to applications based on their resource requirements.

 Manages the overall cluster resource utilization and allocation.

 Schedules applications, allocates containers, and monitors their execution.

 Communication:

 Receives heartbeat messages from NodeManagers to monitor node availability


and resource status.

 Receives resource requests from ApplicationMasters and allocates containers


based on available resources and scheduling policies.

 Communicates with the ApplicationMasters to allocate resources, obtain status


updates, and manage application lifecycles.

2. NodeManager (NM):

 Functionality: NodeManagers are responsible for managing resources on individual


nodes in the cluster and executing and monitoring containers.

 Main Functionality:

 Manages resources (CPU, memory, etc.) on a node and reports status to the
ResourceManager.

 Launches and monitors containers on the node, including managing their


lifecycle.

 Handles container execution, resource isolation, and enforcing resource limits.

 Communication:

 Sends heartbeat messages to the ResourceManager to report node status and


available resources.

 Receives instructions from the ResourceManager to launch containers and


manages container execution.

 Communicates with containers running on the node to monitor their status and
manage their execution.

3. Container:
 Functionality: Containers provide isolated execution environments for running
application tasks on nodes in the cluster.

 Main Functionality:

 Encapsulates resources allocated to an application task, including CPU, memory,


and other resources.

 Provides an isolated environment for task execution, ensuring resource isolation


and management.

 Executes application tasks and communicates status updates to the


NodeManager.

 Communication:

 Receives instructions from the NodeManager to start, monitor, and stop tasks.

 Sends status updates to the NodeManager to report task progress and


completion.

4. ApplicationMaster (AM):

 Functionality: ApplicationMasters are responsible for managing the lifecycle of


applications and coordinating task execution.

 Main Functionality:

 Negotiates resources with the ResourceManager and manages resource


allocation for the application.

 Coordinates task execution, monitors progress, and handles task failures and
retries.

 Communicates with the ResourceManager to request resources, obtain


container allocations, and report application status.

 Communication:

 Submits resource requests to the ResourceManager and negotiates container


allocations.

 Communicates with containers to coordinate task execution and monitor their


status.

 Reports application status updates to the ResourceManager and receives


instructions for resource management.

In summary, the ResourceManager manages cluster-wide resource allocation and job scheduling, while
NodeManagers manage resources and execute containers on individual nodes. Containers provide
isolated execution environments for application tasks, and ApplicationMasters manage application
lifecycles and coordinate task execution. Communication between these components enables efficient
resource management, job scheduling, and task execution in a YARN cluster.

You might also like