基本概念
Yarn 是 Hadoop 三大核心组件之一,是一个分布式程序的运行调度平台
Yarn 中有两大核心角色:
Resource Manager
- 接受用户提交的分布式计算程序,并为其划分资源
- 管理、监控各个 Node Manager 上的资源情况,以便于均衡负载
Node Manager
- 管理它所在机器的运算资源(cpu + 内存)
- 负责接受Resource Manager分配的任务,创建容器、回收资源
Yarn 架构图
两大基础组件
Yarn 中有两大基础组件:Container 和 ApplicationMaster
-
ApplicationMatser (AM)
ApplicationMaster 管理在 YARN 中运行的每个应用程序实例。还负责协调来自 ResourceManager 的资源,并通过 NodeManager 监视容器的执行和资源的使用(CPU、内存、磁盘、网络等的资源分配)
-
Container(容器)
Container 是 YARN 中的资源抽象,它包含了很多纬度,如内存、CPU、磁盘、网络等。Resource Manager 为 AppMaster 返回的资源便是用 Container 表示的。YARN 会为每个任务分配一个 Container,且该任务只能使用该 Container 中描述的资源