是基于应用程序对资源的需求进行调度的 ; 每一个应用程序需要不同类型的资源因此就需要不同的容器 。资源包括:内存,CPU,磁盘,网络等等 。可以看出,这同现固定类型的资源使用模型有显著区别,它给集群的使用带来负面的影响 。资源管理器提供一个调度策略的插件,它负责将集群资源分配给多个队列和应用程序 。调度插件可以基于现有的能力调度和公平调度模型 。
上图中是每一台机器框架的代理,是执行应用程序的容器,监控应用程序的资源使用情况 (CPU,内存,硬盘,网络 ) 并且向调度器汇报 。
每一个应用的的职责有:向调度器索要适当的资源容器,运行任务,跟踪应用程序的状态和监控它们的进程,处理任务的失败原因 。