Я понял, как работает MRv1. Теперь я пытаюсь понять MRv2. Какая разница между Application Manager и Application Master в YARN?
Разница между диспетчером приложений и мастером приложений в YARN?
Ответ 1
Термины Application Master и Application Manager часто используются взаимозаменяемо. На самом деле Application Master является основным контейнером, запрашивающим, запускающим и контролирующим конкретные ресурсы приложения, тогда как Application Manager является компонентом внутри ResourceManager. Более подробная информация о диспетчере приложений приведена ниже.
ApplicationManager несет ответственность за ведение коллекции представленных Приложения. После подачи заявки она сначала проверяет приложения спецификации и отклоняет любое приложение, которое запрашивает неудовлетворительные ресурсы для своих ApplicationMaster (т.е. В кластере нет node, у которого достаточно ресурсов для запустить сам ApplicationMaster). Затем он гарантирует, что никакое другое приложение уже не было представленный с тем же идентификатором приложения - сценарий, который может быть вызван ошибочным или злонамеренный клиент. Наконец, он пересылает принятое приложение в планировщик. Этот компонент также отвечает за запись и управление готовыми приложениями на некоторое время, прежде чем они будут полностью эвакуированы из ResourceManagers Память. Когда приложение заканчивается, оно помещает ApplicationSummary в демонов журнальный файл. Наконец, ApplicationManager хранит кэш завершенных приложений уже после приложений для поддержки запросов пользователей для данных приложения (через веб-интерфейс или команду линия). Свойство конфигурации yarn.resourcemanager.max-completed-applications контролирует максимальное количество таких завершенных приложений, которые ResourceManager помнит в любой момент времени. Кэш - это первый в своем первом списке список со старыми приложениями вывозятся для размещения свежеприготовленных приложений.