您的位置  > 互联网

AM管理YARN产生二、yarn架构、YARN的应用程序

1)源自MRv1的缺陷:可扩展性有限、单点故障、难以支持MR以外的计算框架;

2)多个计算框架独立工作,数据共享困难,资源利用率低;

MR:离线计算框架

Storm:实时计算框架

Spark:内存计算框架

诞生了 YARN

2. 纱线架构

1.:RM

RM是一个全局资源管理器。 只有一个集群(生产中一般采用高可用,一主一备RM)。 它负责整个系统的资源管理和分配,包括处理客户端请求、启动/监控、监控等。 、资源分配和调度。 它主要由两个组件组成:调度器()和应用程序管理器(ASM)。

2. : 近乎

整个集群中有多个节点,负责各自节点的资源管理和使用。

定期向RM汇报自身节点的资源使用情况

接收并处理来自RM的各种命令:如启动等。 管理代表每个节点上特定程序使用的资源的抽象容器。 定期向RM汇报各节点的资源使用情况和运行状态(cpu、内存等资源)

处理来自 AM 的命令

单节点资源管理

凌晨3点

管理在 YARN 中运行的应用程序的每个实例。

每个应用对应一个:如MR、Spark; 负责应用程序的管理,为应用程序向RM申请资源(如core等)并分配给任务

需要与NM通信:启动/停止任务。 Task和AM都在里面运行。

4.

它是 YARN 中的资源抽象。 它封装了某个节点上的多维资源,如内存、CPU、磁盘、网络等。当AM向RM申请资源时,RM返回给AM的资源用 表示。 YARN为每个任务分配一个,任务只能使用这里描述的资源。 它是根据应用程序的需要动态生成的动态资源划分单元。

3、YARN执行流程:

1、用户向YARN提交应用程序,包括(AM)程序、启动AM的命令、用户程序等。

2、(RM)将第一个分配给程序,并与对应的进行通信,要求其在这个

在 中启动应用程序 AM。

3、AM首先向RM注册,这样用户可以直接通过RM查看应用程序的运行状态,然后为每个任务申请资源并监控

其运行状态,直至运行结束,重复步骤4--7。

4、AM采用轮询的方式通过RPC协议向RM申请并接收资源。

5. AM申请资源后,与对应的NM通信,要求其启动任务。

6、NM设置好任务的运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写入脚本并传递

运行此脚本以启动任务。

7、每个任务通过RPC协议向AM汇报自己的状态和进度,这样AM就可以随时掌握每个任务的运行状态,以便能够

失败时重新启动任务。

8. 申请完成后,AM注销RM并自行关闭。