一、MRv1

  Master - Slave 模式

  存在JobTracker单点失败的问题,在YARN得到了解决。

  

主要包含4部分:JobTracker,TaskTracker,Task,Client

  JobTracker:负责整个MR集群的资源监控和作业调度,集群的Master。它把任务进度 和 资源使用量告诉调度器TaskScheduler,由调度器来计划如何调度,调度器是个可挺拔模块。

  TaskTracker:负责周期性的向JobTracker汇报每个节点的状况,并执行JobTracker发来的命令。TaskTracker使用slot来等量划分节点上的资源(CPU和内存),slot分为map slot 和 reduce slot两种,分别提供给map task 和 reduce task使用。

  Task:分为MapTask 和 ReduceTask两种,由TaskTracker启动。通常一个Task只使用一个slot,但也可使用多个。

作业提交过程:

  

  1、首先在客户端启动作业;

  2、向JobTracker请求一个Job ID;

  3、接着将运行作业所需要的资源文件复制到HDFS上,主要是作业的jar包、配置信息、输入划分等;这些文件都存放在JobTracker专门为该作业创建的文件夹中。文件名为作业ID。Jar默认有10个副本,输入划分告诉JobTracker有多少个map任务等信息。

  4、之后客户端会再向JobTracker正式提交作业,JobTracker会将作业放在一个作业队列中,等待调度。当调度到这个作业时,会先根据划分信息为每个split创建一个map任务,并交给TaskTracker来执行。

  5、TaskTracker会每隔一段时间会给JobTracker汇报作业的进度状况。当最后一个任务完成时,便把该作业置为成功,并反馈给客户端。

二、MRv2-Yarn

  通用的资源管理系统。
  Master(RM) - Slave(NM) 模式
  主要解决MRv1的扩展问题;是一般化的管理平台,MR,Spark等都可以在Yarn上运行;

  把资源管理 和 应用程序管理 剥离出来;划分为两个独立的守护进程,管理集群的资源使用 和 管理运行任务的生命周期。

  

  主要由4个部分组成:

    ResourceManager:控制整个集群 并 管理应用程序向基础计算资源的分配。将各个资源部分(cpu,内存,带宽等)分配到各个NodeManager;与AM一起分配资源;与NM一起启动并监视它们的应用程序;MRv1中的JobTracker;

    ApplicationManager:管理一个在YARN中运行的应用程序的实例;负责协调来自RM的资源分配;与NM一起监视容器的执行和资源的使用。MRv1中的TaskTracker

    NodeManager:管理YARN集群中的节点,监视一个容器的状态和节点资源使用。

    Container:YARN中资源的抽象(cpu,内存,网络等),每个任务的执行都放在一个Container里。

  作业运作流程:

    

三、任务调度算法

  1、先入先出FIFO:Hadoop 中默认的调度器,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。

  1、公平调度:是指一个用户作业池中的Job公平地调度,尽可能保证每个Job所有均等的处理时间;可设置每个用户池间的权重(不会因为提交作业多而占更多的资源),动态自适应性。每个用户作业池中有多个作业同时运行。

  2、容量池调度:是指限制每个用户的作业队列能使用的资源量,每上队列中使用FIFO调度,静态调度。每个用户作业队列中只有一个作业运行。

MapReduce中作业调度机制

Hadoop MapReduce两种架构 以及 YARN的更多相关文章

  1. 基于两种架构的ETL实现及ETL工具选型策略

    企业信息化建设过程中,业务系统各自为政.相互独立造成的"数据孤岛"现象尤为普遍,业务不集成.流程不互通.数据不共享--.这给企业进行数据的分析利用.报表开发等带来了巨大困难.在此情 ...

  2. smaller programs should improve performance RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构 区别示例

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION In this section, we l ...

  3. JavaWeb前置知识 : 动态和静态的区别、两种架构、常见状态码

    JavaWeb程序设计(一) : 前置知识 1.动态网页与静态网页的区别: a.不要和是否有"动感"混为一谈. b.是否随着时间.地点.用户操作的改变而改变 (例如 : 在百度上搜 ...

  4. 下一代Apache Hadoop MapReduce框架的架构

    背景 随着集群规模和负载增加,MapReduce JobTracker在内存消耗,线程模型和扩展性/可靠性/性能方面暴露出了缺点,为此需要对它进行大整修. 需求 当我们对Hadoop MapReduc ...

  5. 你知道C/S和B/S两种架构有什么区别吗?

    C/S和B/S,是再普通不过的两种软件架构方式,都可以进行同样的业务处理,甚至也可以用相同的方式实现共同的逻辑.既然如此,为何还要区分彼此呢?那我们就来看看二者的区别和联系. 一.C/S 架构     ...

  6. C/S和B/S两种架构区别与优缺点分析

    C/S和B/S,是再普通不过的两种软件架构方式,都可以进行同样的业务处理,甚至也可以用相同的方式实现共同的逻辑.既然如此,为何还要区分彼此呢?那我们就来看看二者的区别和联系. 一.C/S 架构 1. ...

  7. ETL的两种架构——ETL架构和ELT架构优劣势对比

    ​ 导读: 作为现代企业和组织机构的重要资源,信息是进行科学管理与决策分析的基础.ETL 则是把数据转换为信息.知识的关键步骤之一.在 AI 应用场景下,数据集成有哪些特点?随着 AI 应用场景越来越 ...

  8. ETL的两种架构(ETL架构和ELT架构)

     ETL ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL一词 ...

  9. MapReduce两种执行环境介绍:本地测试环境,服务器环境

    本地测试环境(windows):1.在windows下配置hadoop的环境变量2.拷贝debug工具(winutils.exe)到hadoop目录中的bin目录,注意winutils.exe的版本要 ...

随机推荐

  1. 刷题总结——蚯蚓(NOIP2016DAY2T2)

    题目: 题目背景 NOIP2016 提高组 Day2 T2 题目描述 本题中,我们将用符号 

  2. Java统计程序运行时间

    代码如下: 第一种是以毫秒为单位计算的. long startTime = System.currentTimeMillis();    //获取开始时间 doSomething();    //测试 ...

  3. java面试题之能创建volatile数组吗?

    答:能,只不过只是一个指向数组的引用,而不是整个数组,如果改变了引用指向的数组,将会受到volatile的保护,但是如果多个线程同时改变数组的元素,volatile关键字就不能起到保护的作用.

  4. spring中quartz的使用。【转http://www.cnblogs.com/kay/archive/2007/11/02/947372.html】

    注:从spring3到spring4改变 org.springframework.scheduling.quartz.CronTriggerBean org.springframework.sched ...

  5. 观光公交(codevs 1139)

    题目描述 Description 风景迷人的小城 Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第0 分钟出现在1号 ...

  6. net8:简易的文件磁盘管理操作二(包括文件以及文件夹的编辑创建删除移动拷贝重命名等)

    原文发布时间为:2008-08-07 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

  7. 关于a标签的onclick和href谁先执行的问题

    今天上午遇到一个问题,我想在a标签跳转的时候增加一些程序上的判断,但又不会影响a标签的正常跳转,于是就有了这篇文章. 我的具体代码是这样的: <a href="http://www.m ...

  8. Educational Codeforces Round 51 (Rated for Div. 2) The Shortest Statement

    题目链接:The Shortest Statement 今天又在群里看到一个同学问$n$个$n$条边,怎么查询两点直接最短路.看来这种题还挺常见的. 为什么最终答案要从42个点的最短路(到$x,y$) ...

  9. codeforces Gym 101572 I 有向图最小环路径

    题目链接 http://codeforces.com/gym/101572 题意  一共n个文件  存在依赖关系 根据给出的依赖关系   判断是否存在循环依赖 ,不存在的话输出SHIP IT,存在的话 ...

  10. luogu P1886 滑动窗口(单调队列

    题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值. 例如: The array i ...