yarn 主要由ResourceManager、NodeManager、ApplicationMaster、Container、Scheduler 等几个组件构成。
ResourceManager(RM)
RM是一个全局的资源管理器,负责整个系统的资源管理和分配。
它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager,ASM),通俗讲是用于管理NodeManager节点的资源,包括cup、内存等。
Scheduler(调度器)
调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序;在资源紧张的情况下,可以kill掉优先级低的,来运行优先级高的任务。
Applications Manager(应用程序管理器)new ApplicationMaster 监控所有job的任务运行结果的监控 --> 客户端
负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并