首页 笔记 图片 查字 
所属分类:null
关键词: YARN 基本 架构 组成
浏览:223
内容:

1、YARN基本架构

YARN是Hadoop2.0中的资源管理系统,基本设计思想是将MRv1中的JobTracker拆分成两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序持有的ApplicationMaster。


ResourceManager:负责整个系统的资源管理和分配

ApplicationMaster:负责单个应用程序的管理


2、YARN基本组成


YARN总体上仍然是Master/Slave结构,在整个资源管理架构中,ResourceManager为Master,NodeManager为Slave。ResourceManager负责对各个NodeManager上的资源进行统一管理和调度。


YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等几个组件构成。


2.1、Container

Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM为AM返回的资源便是用Container表示的。当前仅支持内存和CPU。


2.2、ResourceManager,RM

RM是一个全局的资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Master,ASM)。

(1) 处理客户端请求

(2) 监控 NodeManager

(3) 启动或监控 ApplicationMaster

(4) 资源的分配与调度


2.2.1、Scheduler

调度器根据各个应用程序的资源需求进行资源分配,而资源分配单位用一个抽象概念“资源容器”(Resource Container,Container)表示。


2.2.2、Applications Master(ASM)

应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动它等。


2.3、ApplicationMaster(AM)

用户提交的每个应用程序均包含一个ApplicationMaster。

(1) 负责数据的切分

(2) 为应用程序申请资源并分配给内部的任务

(3) 任务的监控与容错


2.4、NodeManager(NM)

NM是每个节点上的资源和任务管理器。

(1) 管理单个节点上的资源

(2) 处理来自 ResourceManager 的命令

(3) 处理来自 ApplicationMaster 的命令