YARN (Yet Another Resource Negotiator) is an important part of the Apache Hadoop system that helps manage resources in a distributed computing environment. The YARN structure has three parts:
ResourceManager: The ResourceManager controls resource allocation in the cluster by assigning resources like memory and CPU cores to various applications running on the cluster. It also manages the scheduling of applications and the distribution of resources.
NodeManager: The NodeManager runs on each worker node in the cluster and is responsible for managing the resources allocated to that node, such as memory and CPU cores. It communicates with the ResourceManager to report the available resources on the node and to receive instructions on how to allocate those resources to applications.
ApplicationMaster: The ApplicationMaster manages the lifecycle of a specific application by requesting resources from the ResourceManager, monitoring the progress of the application, and reporting the results back to the user. Every application running on the cluster has its own ApplicationMaster