主要模块
1.ResourceManager(RM)
yarn的资源控制框架的中心模块,负责集群中所有的资源的统一管理和分配。
包含调度器和应用管理器
2.调度器(ResourceScheduler)
根据各个应用程序的资源需求,进行分配。
3.应用管理器(Applications Manager)
负责监控或跟踪AM的执行状态
4.NodeManager(NM)
是ResourceManager每台机器上的代理,负责容器的管理,并监控他们的资源使用情况(CPU,内存,磁盘,网络等等),以及向RM提供这些资源的使用汇报
5.ApplicationMaster(AM)
yarn中每个应用都会启动一个AM,负责向RM申请资源。请求NM启动container,并告诉container需要做什么。
6.container
这是一个虚拟的概念
yarn中所有应用都是在container之上运行的,包括ApplicationMaster
(1)container是yarn中资源的抽象,它封装了某个节点上一定的资源(CPU,内存,磁盘,网络等等)
(2)container由AM向RM申请,由RM中的ResourceScheduler分配给AM
运行AM的container、运行各类任务的container,由AM向RM申请的
MapReduce on yarn
1.client向RM提交应用程序,其中包括
AM主程序,启动AM的命令,用户的程序(如wordcoun