YARN是Hadoop2.0中的资源管理系统,它的设计思想是将MRv1中的JobTracker拆分成两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序持有的ApplicationMaster。其中RM负责整个系统的资源管理和分配,AM负责单个应用程序的管理。YARN总体上仍然是Master/Slaver结构,在整个资源管理框架中,RM为Master,NM为Slaver,RM负责对各个NM上的资源进行统一管理和调度。当提交一个应用程序时,需要提供一个用以跟踪和管理这个程序的AM,它负责向RM申请资源,并要求NM启动占用一定资源的任务,不同的AM被分布在不同的节点上。