How Applications Work in YARN

Describes the data flow during application execution in YARN.

The following diagram and steps describe how data flows during application execution in YARN.

The following steps summarize execution of the application:
  1. A client submits an application to the YARN ResourceManager, including the information required for the Container Life Cycle (CLC).
  2. The ApplicationsManager (in the ResourceManager) negotiates a container and bootstraps the ApplicationMaster instance for the application.
  3. The ApplicationMaster registers with the ResourceManager and requests containers.
  4. The ApplicationMaster communicates with NodeManagers to launch the containers it has been granted, specifying the CLC for each container.
  5. The ApplicationMaster manages application execution. During execution, the application provides progress and status information to the ApplicationMaster. The client can monitor the application’s status by querying the ResourceManager or by communicating directly with the ApplicationMaster.
  6. The ApplicationMaster reports completion of the application to the ResourceManager.
  7. The ApplicationMaster deregisters with the ResourceManager, which then cleans up the ApplicationMaster container.