Hadoop YARN - краткое описание
Основной идеей YARN-a является разделение обязанностей менеджера ресурсов(resource management) кластера Hadoop, планировщика и системы мониторинга задач(job scheduling/monitoring) в отдельные службы(демоны).
Суть идеи в том, чтоб иметь глобального менеджера ресурсов (ResourceManager - RM) и отдельного планировщика(ApplicationMaster - AM) для каждого приложения
ResourceManager распределяет ресурсы между всеми приложениями в системе.
ResourceManager имеет 2-а основных компонента: Scheduler (планировщик) и ApplicationsManager.
Планировщик(Scheduler) ответственный за выделение ресурсов, контроль и ограничение приложений, очередей и т.д. Планировщик не ответственный за мониторинг и трекинг статусов приложений. Также он не ответственный за рестарт упавших тасок из-за програмной или апаратной ошибки. Он выполняет свою роботу на основе требований к ресурсам от приложений. Он делает это опираясь на абстрактное понятие контейнер(Container), который включает в себя такие ресурсы как выделенная память, ЦПУ, диск, работа с сетью.
Планировщик имеет в себе настраиваемую политику, которая описывает распределение ресурсов вычислительного кластера среди приложений, очередей и т.д. Примерами таких подключаемых политик являются CapacityScheduler и e FairScheduler.
ApplicationsManager ответственнен за обслуживание выделенных ресурсов для job-a, переговоры с доступным контейнером, который выполнит приложение и позаботится о рестарте контейнера ApplicationsManager-а в случае сбоя.
ApplicationMaster для каждого приложения ответственнен за выделение ресурсов планировщиком для контейнера в котором будет выполнятся приложение. Также он затрекает статус и прогресс выполнения приложения.
Полезные ссылки:
Суть идеи в том, чтоб иметь глобального менеджера ресурсов (ResourceManager - RM) и отдельного планировщика(ApplicationMaster - AM) для каждого приложения
ResourceManager распределяет ресурсы между всеми приложениями в системе.
NodeManager - это служба, которая запущена на каждом сервере и ответственная за использование ресурсов (cpu, memory, disk, network) каждым контейнером, который запущен на этой ноде. Также эта служба посылает отчёты о потреблённых ресурсах к ResourceManager и Scheduler.
ApplicationMaster для приложения является библиотекой, которая заботится об выделении ресурсов для job-ов от ResourceManager-а и работает с NodeManager-ми для выполнения и мониторинга этих job-oв.
ApplicationMaster для приложения является библиотекой, которая заботится об выделении ресурсов для job-ов от ResourceManager-а и работает с NodeManager-ми для выполнения и мониторинга этих job-oв.
ResourceManager имеет 2-а основных компонента: Scheduler (планировщик) и ApplicationsManager.
Планировщик(Scheduler) ответственный за выделение ресурсов, контроль и ограничение приложений, очередей и т.д. Планировщик не ответственный за мониторинг и трекинг статусов приложений. Также он не ответственный за рестарт упавших тасок из-за програмной или апаратной ошибки. Он выполняет свою роботу на основе требований к ресурсам от приложений. Он делает это опираясь на абстрактное понятие контейнер(Container), который включает в себя такие ресурсы как выделенная память, ЦПУ, диск, работа с сетью.
Планировщик имеет в себе настраиваемую политику, которая описывает распределение ресурсов вычислительного кластера среди приложений, очередей и т.д. Примерами таких подключаемых политик являются CapacityScheduler и e FairScheduler.
ApplicationsManager ответственнен за обслуживание выделенных ресурсов для job-a, переговоры с доступным контейнером, который выполнит приложение и позаботится о рестарте контейнера ApplicationsManager-а в случае сбоя.
ApplicationMaster для каждого приложения ответственнен за выделение ресурсов планировщиком для контейнера в котором будет выполнятся приложение. Также он затрекает статус и прогресс выполнения приложения.
Полезные ссылки:
Коментарі
Дописати коментар