YARN 的基本思想是将资源管理和作业调度/监控的功能分解为单独的守护进程。
- ResourceManager(RM):全局资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(ApplicationManager,AM)。
- ApplicationMaster(AM):实际上是一个特定于框架的库,其任务是协调来自ResourceManager的资源,并与NodeManager一起执行和监控任务。
- NodeManager:负责启动和管理节点上的容器(Containers )。
- Scheduler:负责给各个正在运行的拥有相似的约束如容量,队列等的应用分配资源。
- Containers:执行AppMaster指定的任务。
ResourceManager和NodeManager构成了数据计算框架( data-computation framework)。