跳至主要內容

Yarn概述

zheng大约 2 分钟大数据HADOOP

一、组件介绍

Yarn的基本思想是将 JobTracker 的资源管理和作业的调度/监控两大主要职能拆分为两个独立的进程:

	a. 一个全局的 Resource Manager 

	b. 每个应用对应的 Application Master(AM)

Resource Manager 和每个节点上的 Node Manager(NM)组成了全新的通用操作系统,以分布式的方式管理应用程序。

Resource Manager拥有为系统中所有应用分配资源的决定权。与之相关的是应用程序的Application Master,负责与Resource Manager协商资源,并与Node Manager协同工作来执行和监控任务。
image-20191218091838954
image-20191218091838954

(1)Resource Manager

	Yarn Resource Manager是一个纯粹的调度器,它负责整个系统的资源管理和分配。它本身主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager,AM)。

	调度器根据容量、队列等限制条件,将系统中的资源分配给各个正在运行的应用程序。

注意:该调度器是一个“纯调度器”,他不再从事任何与具体应用程序相关的工作

(2)Application Master

	Application Master实际上是特定框架库的一个实例,负责与 Resource Manager协商资源,并和Resource Manager协同工作来   执行和监控Container,以及它们的资源消耗。

(3)Node Manager

	Node Manager 是每个节点的框架代理。她负责启动应用的Container,监控Container的资源使用(包括CPU、内存、硬盘和网络带宽等),并把这些信息汇报给调度器。

(4)Resource Request 和 Container

	Yarn 被设计成可以允许应用程序(通过 Application Master) 以共享的、安全的,以及多用租户的方式使用集群的资源。它也会感知集群的网络拓扑,一边可以有效地调度,以及优化数据访问。

二、Yarn工作流程

(1)客户端提交 MapReduce作业

(2)Yarn 资源管理器负责协调集群上计算资源的分配

(3)Yarn 节点管理器(Node Manager)负责启动和监视集群中机器上的计算容器(Container)

(4)应用程序的 Master 负责协调运行 MapReduce 作业的任务,它和MapReduce 任务在容器中运行,这些同期由资源管理器分配对节点管理器进行管理

(5)分布式文件系统(HDFS)用来与其他实体间共享作业文件
上次编辑于:
贡献者: 郑天祺