Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序
1.Yarn基础架构
Yarn主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成
ResourceManager(RM)作用:
- 处理客户端请求
- 监控NodeManager
- 启动或监控ApplicationMaster
- 资源分配与调度
NodeManager(NM)作用:
- 管理单个节点上的资源
- 处理来自ResourceManager的命令
- 处理来自ApplicationMaster的命令
ApplicationMaster(AM)作用:
- 为应用程序申请资源并分配给内部的任务
- 任务的监控与容错
Container:
Container是Yarn中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等