> For the complete documentation index, see [llms.txt](https://bigdata-2.gitbook.io/bd201notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bigdata-2.gitbook.io/bd201notes/hadoop/yarn/logical_and_physical.md).

# YARN: Logical and physical projections

## Logically:

* Основная идея Yarn - разделить две основные обязанности системы распределенной обработки на отдельные роли: глобальный ResourceManager (RM) и ApplicationMaster (AM) для каждого приложения.
* AM для каждого приложения, по сути, является структурно-специфической сущностью, и ему поручено согласование ресурсов с RM и работа с NM (ами) для выполнения и мониторинга задач компонента.
* AM несет ответственность за согласование соответствующих контейнеров ресурсов с планировщиком (частью RM, который выделяет ресурсы), отслеживает их состояние и отслеживает прогресс
* С точки зрения системы, сам ApplicationMaster работает как обычный контейнер

## Physically:

* ResourceManager (RM) и подчиненный узел NodeManager (NM) образуют новую универсальную систему для распределенного управления приложениями.
* NM - slave для каждой машины, которое отвечает за запуск контейнеров приложений, мониторинг их использования ресурсов (процессор, память, диск, сеть) и сообщает об этом в RM
* RM является высшим органом, который осуществляет арбитраж ресурсов между всеми приложениями в системе

## Application lifecycle

* Client submits the job to RM
* Resource Manager launches AM in a Container
* Application Master    registers with RM
* Application Master    allocates Containers
* NodeManager launches the containers
* Container executes the task
* Client gets status from AM
