官方文档: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收到失败信号,会重新给这个任务来申请资源,然后试图重新分配这个任务

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

  1. Hadoop2.0之YARN

    YARN(Yet Another Resource Negotiator)是Hadoop2.0集群中负责资源管理和调度以及监控运行在它上面的各种应用,是hadoop2.0中的核心,它类似于一个分布式操 ...

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

    Hadoop的前景 随着云计算.大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈.谷歌.淘宝.百度.京东等底层都应用hadoop.越来越多的企 业急需引入hadoop技术人才.由于掌握H ...

  3. Cloudera Hadoop 5& 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. Hadoop2.0(HDFS2)以及YARN设计的亮点

    YARN总体上仍然是Master/Slave结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave,ResouceManager负责对各个Node ...

  5. Hadoop2.0构成之YARN

    YARN产生背景 Hadoop1.x中的MapReduce构成图如下: 在Hadoop1.x中MapReduce是Master/Slave结构,在集群中的表现形式为:1个JobTracker带多个Ta ...

  6. hadoop2.0 和1.0的区别

    1. Hadoop 1.0中的资源管理方案Hadoop 1.0指的是版本为Apache Hadoop 0.20.x.1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统 ...

  7. 【原创 Hadoop&Spark 动手实践 4】Hadoop2.7.3 YARN原理与动手实践

    简介 Apache Hadoop 2.0 包含 YARN,它将资源管理和处理组件分开.基于 YARN 的架构不受 MapReduce 约束.本文将介绍 YARN,以及它相对于 Hadoop 中以前的分 ...

  8. Hadoop2.0.0+CDH4.5.0集群配置

    Hadoop 2.0.0-cdh4.5.0安装:http://blog.csdn.net/u010967382/article/details/18402217 CDH版本下载:http://arch ...

  9. Hadoop1.0 与Hadoop2.0

    Hadoop1.0的局限-MapReduce •扩展性 –集群最大节点数–4000 –最大并发任务数–40000 (当 map-reduce job 非常多的时候,会造成很大的内存开销,潜在来说,也增 ...

随机推荐

  1. laravel上传git如何忽略你不想提交的文件

    1.在文件根目录下面有一个文件 .gitignore .gitignore文件用来忽略被指定的文件或文件夹的改动,被记录在.gitignore文件里的文件或文件夹,是无法被git跟踪到的,换句话说,被 ...

  2. CR(Code Review)代码评审如何发挥作用

    在CODE中经常会发起代码评审和进行评审任务,可是根据目前的做法流程,我认为它就是走走形式,为了应付检查,根本没有达到预期的效果,即审查代码质量.学习他人写的代码和提高自身写代码的能力.对此,将从两方 ...

  3. spring-framework核心接口ApplicationContext

    核心接口(ApplicationContext) 继承关系 继承接口: org.springframework.beans.factory.ListableBeanFactory:用于访问应用程序组件 ...

  4. 51Nod 1432 独木舟 (贪心)

    n个人,已知每个人体重.独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人.显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟? Input 第一行包含 ...

  5. 【你不知道的javaScript 上卷 笔记1】 javaScript 是如何工作的?

    一.什么是作用域? 作用域是用来存储变量以及方便寻找变量的一套规则. 二.javaScript 编译过程(编译发生在代码执行前的几微妙) 分词/词法分析(Tokenizing/Lexing)-> ...

  6. BZOJ3680 JSOI2004 平衡点 - 随机/近似算法

    迭代乱搞了下就过了…… #include <bits/stdc++.h> using namespace std; ],y[],w[]; double xm,ym,wt,k,lambda= ...

  7. AntDesign(React)学习-4 登录页面提交数据简单实现

    github代码:https://github.com/zhaogaojian/jgdemo 全国肺炎,过节期间没地方去在家学习antd. 一.感觉antd pro项目太庞大了,可以学习下结构和代码风 ...

  8. 2019-08-12 纪中NOIP模拟B组

    T1 [JZOJ4879] 少女觉 题目描述 “在幽暗的地灵殿中,居住着一位少女,名为古明地觉.” “据说,从来没有人敢踏入过那座地灵殿,因为人们恐惧于觉一族拥有的能力——读心.” “掌控人心者,可控 ...

  9. iOS13禁用深色模式

    全局禁用深色模式(暗黑模式)在Info.plist中增加UIUserInterfaceStyle,值为Light,如下 <key>UIUserInterfaceStyle</key& ...

  10. ORA-04089: cannot create triggers on objects owned by SYS

    04089 问题原因 因为你在以sys用户创建触发器,但oracle却不建议在sys用户下创建触发器.