# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bigdata-2.gitbook.io/bd201notes/hadoop/yarn/logical_and_physical.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
