Yarn

Posted lovemeng1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yarn相关的知识,希望对你有一定的参考价值。

Yarn概述

Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序

Yarn基本架构

YARN主要由ResourceManager、NodeManager、ApplicationMaster(AM)和Container等组件

技术图片

Yarn工作机制

(1)Mr程序提交到客户端所在的节点。
    (2)Yarnrunner向Resourcemanager申请一个Application。
    (3)rm将该应用程序的资源路径返回给yarnrunner。
    (4)该程序将运行所需资源提交到HDFS上。
    (5)程序资源提交完毕后,申请运行mrAppMaster。
    (6)RM将用户的请求初始化成一个task。
    (7)其中一个NodeManager领取到task任务。
    (8)该NodeManager创建容器Container,并产生MRAppmaster。
    (9)Container从HDFS上拷贝资源到本地。
    (10)MRAppmaster向RM 申请运行maptask资源。
    (11)RM将运行maptask任务分配给另外两个NodeManager,另两个NodeManager分别领取任务并创建容器。
    (12)MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动maptask,maptask对数据分区排序。
(13)MrAppMaster等待所有maptask运行完毕后,向RM申请容器,运行reduce task。
    (14)reduce task向maptask获取相应分区的数据。
    (15)程序运行完毕后,MR会向RM申请注销自己。

 技术图片

资源调度器

目前,Hadoop作业调度器主要有三种:FIFO、Capacity Scheduler和Fair Scheduler。Hadoop2.7.2默认的资源调度器是Capacity Scheduler。

1.先进先出调度器(FIFO

技术图片

2.容量调度器(Capacity Scheduler

技术图片

3.公平调度器(Fair Scheduler

技术图片

以上是关于Yarn的主要内容,如果未能解决你的问题,请参考以下文章

Yarn管理项目依赖包

Hadoop源代码点滴-系统结构(HDFS+YARN)

[Linux] ubuntu下yarn依赖管理工具的安装和使用

如何禁用 Yarn 自动格式化代码

Hadoop源代码点滴-系统结构(HDFS+YARN)

YARN分析系列之二 -- Hadoop YARN各个自模块说明