Hadoop2.0之YARN组件

  官方文档:https://hadoop.apache.org/docs/stable/,目前官方已经是3.x,但yarn机制没有太大变化

一、简介

  在Hadoop1.0中,没有yarn,所有的任务调度和资源管理都是MapReduce自己来做,所以在Hadoop1.0中,最核心的节点是JobTracker。在整个MapReduce集群中,JobTracker的性能基本决定了整个集群的性能。经过试验,发现在Hadoop1.0中,JobTracker所能管理的节点数量最多不要超过4000,一旦超过4000个节点,则整个集群的性能会成倍下降。

  在Hadoop2.0中,为了解决性能下降的问题,引入了yarn来进行管理,从Hadoop2.0开始,MapReduce变成了一个纯粹的计算框架,不再负责管理

  

  Yarn组件包括:

    1)ResourceManager-资源管理:负责资源的监控和分配

      ①ApplicationsManager:负责为任务分配资源

      ②Schedular:负责将任务以及资源发给ApplicationMaster

    2)ApplicationMaster:负责任务调度和监控,并不是一个主进程,在启动Yarn的时候,不会单独占用一个节点

    3)NodeManager:任务执行:功能和原来的TaskTracker一致

二、MR V1.0与V2.0比较

1、v1.0 MR图解说明

  

2、v2.0 MR图解说明

三、Yarn体系架构图

执行流程:

  ① JobClient执行run job阶段,检测各种job运行环境参数

  ② 向ResourceManager申请job id

  ③ 将Job的运算资源,上传到HDFS

  ④ submit job

  ⑤

    a:start container,启动容器,这一步的容器的资源封装,限定的是AppMaster进程

    b:根据容器的资源描述情况,启动AppMaster进程(用于负责对应Job的任务分配和监控)

  ⑥~⑦:初始化job,统计出当前job的MapTask数量和ReduceTask数量

  ⑧:AppMaster向RM申请资源,RM收到请求后,会为对应的Job创建一个资源队列

  ⑨

    a:在具体的NM上启动容器

    b:根据容器启动对应的工作进程

  ⑩ 获取job的运算资源

  ? 在进程中运行MapTask或ReduceTask

四、Yarn执行流程

  

①将Job任务提交到RM

②在RM中,子组件ResourceManager会为提交的job任务分配执行所需要的资源,资源主要包含这个任务执行所需要的内存、cpu核数,将分配的资源封装到一个Container对象中。如果不指定,则默认每一个任务分配1G内存及1核CPU

③ApplicationsManager将Container及Job任务交给Schedular,然后Schedular负责将Container和Job交给ApplicationMaster

④ApplicationMaster接收到任务后,将Job拆分成多个MapTask以及ReduceTask,将MapTask以及Reduce Task分发到NodeManager上执行。

⑤NodeManager会启动JVM子进程执行对应的任务,会为每一个MapTask或ReduceTask都启动一个JVM子进程

⑥NodeManager会向ApplicationMaster汇报任务的执行情况,并且向ApplicationsManager汇报资源使用情况

⑦如果执行成功,则NodeManager向ApplicationMaster返回任务成功的信号,并且向ApplicationsManager发送信号回收资源

⑧如果执行失败,则NodeManager向ApplicationMaster返回任务失败的信号,并且依然会向ApplicationManager发送信号回收资源;ApplicationMaster收到失败信号,会重新给这个任务来申请资源,然后试图重新分配这个任务

原文地址:https://www.cnblogs.com/rmxd/p/12273247.html

时间: 2024-10-28 01:43:25

Hadoop2.0之YARN组件的相关文章

大话Hadoop1.0、Hadoop2.0与Yarn平台

2016年12月14日21:37:29 Author:张明阳 博文链接:http://blog.csdn.net/a2011480169/article/details/53647012 近来这几天一直在忙于Hbase的实验,也没有太静下心来沉淀自己,今天打算写一篇关于Hadoop1.0.Hadoop2.0与Yarn的博文,从整体上把握三者之间的联系,博客内容如有问题,欢迎留言指正!OK,进入本文正题-- 在开始接触Hadoop的时候,也许大家对于Hadoop是下面的一个概念:Hadoop由两部

Hadoop2.0、YARN技术大数据视频教程

基于Hadoop2.0.YARN技术的大数据高阶应用实战(Hadoop2.0\YARN\MapReduce\数据挖掘\项目实战)课程分类:Hadoop适合人群:高级课时数量:81课时用到技术:基于协同过滤的推荐系统.基于HBase的爬虫调度库涉及项目:银行人民币查询系统.HBase编程实践及案例分析咨询qq:1840215592 课程内容简介本课程基于<基于Greenplum Hadoop分布式平台的大数据解决方案>Hadoop部分的基础课程来进行扩展延伸,主要内容分为以下四部分:一.对Had

hadoop2.0 配置yarn成功

很久不写 BO-KE 了,来一篇吧,记住这个成功的一刻,把几个主要文件贴出来: core-site.xml: <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <config

hadoop2.0中yarn的运行原理

Yarn的简单介绍 我们知道在离线大数据处理领域中,hadoop是目前无可厚非的处理架构,到目前为止hadoop已经有三个大版本,每个版本下都有架构方面的调整. 在hadoop1.0中有一些弊端,比如hdfs元数据信息保存的单节点故障,并且任务计算框架只能使用mapreduce,而且造成了任务管理器的压力过大,因此在hadoop2.0中加入了yarn资源统一管理的机制,不仅解决了元数据单节点故障问题(双namenode)而且实现了元数据的实时热备(共享机制JournalNode),在hdfs和m

基于Hadoop2.0、YARN技术的大数据高阶应用实战(Hadoop2.0\YARN\Ma

Hadoop的前景 随着云计算.大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈.谷歌.淘宝.百度.京东等底层都应用hadoop.越来越多的企 业急需引入hadoop技术人才.由于掌握Hadoop技术的开发人员并不多,直接导致了这几年hadoop技术的薪水远高于JavaEE及 Android程序员. Hadoop入门薪资已经达到了8K以上,工作1年可达到1.2W以上,具有2-3年工作经验的hadoop人才年薪可以达到30万—50万. 一般需要大数据处理的公司基本上都是大公司,所以学

Cloudera Hadoop 5&amp; Hadoop高阶管理及调优课程(CDH5,Hadoop2.0,HA,安全,管理,调优)

1.课程环境 本课程涉及的技术产品及相关版本: 技术 版本 Linux CentOS 6.5 Java 1.7 Hadoop2.0 2.6.0 Hadoop1.0 1.2.1 Zookeeper 3.4.6 CDH Hadoop 5.3.0 Vmware 10 Hive 0.13.1 HBase 0.98.6 Impala 2.1.0 Oozie 4.0.0 Hue 3.7.0 2.内容简介 本教程针对有一定Hadoop基础的学员,深入讲解如下方面的内容: 1.Hadoop2.0高阶运维,包括H

Hadoop2.0安装之YARN

YARN(Yet Another Resource Negotiator)是Hadoop2.0集群中负责资源管理和调度以及监控运行在它上面的各种应用,是hadoop2.0中的核心,它类似于一个分布式操作系统,通过它的api编写的应用可以跑在它上面,支持临时和常驻的应用,集群的资源可以得到最大限度的共享.资源是指CPU,内存,硬盘,带宽等可以量化的东西. Hadoop1.0和2.0架构对比 1.0的绝对核心是mapreduce,只能跑mapreduce的任务:2.0的绝对核心是YARN,除了可以跑

HADOOP2.0(HDFS2)以及YARN设计的亮点

YARN总体上仍然是Master/Slave结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave,ResouceManager负责对各个NodeManager上的资源进行统一管理和调度.当用户提交一个应用程序时,需要提供一个用以跟踪和管理这个程序的ApplicationMaster,它负责向ResourceManger申请资源,并要求NodeManager启动可以占用一定资源的任务. Hadoop2.0 YARN包含以下实体,可以看图: R

Hadoop2.0构成之YARN

YARN基本构成 Master/Slave组成,1个ResourceManager对应多个NodeManager: YARN由Client.ResourceManager.NodeManager.ApplicationMaster组成: Client向ResourceManager提交任务.杀死任务等: ApplicationMaster由对应的应用程序完成:每个应用程序对应一个ApplicationMaster,ApplicationMaster向ResourceManager申请资源用于在N