和HDFS一样,MapReduce也是采用Master/Slave的架构

MapReduce1包含4个部分:Client、JobTracker、TaskTracker和Task

Client

  • 将JAR文件、配置参数Configuration、计算分片、Distributed Cache 文件存储在HDFS
  • 向 JobTracker 申请JobId

JobTracker

  • 负责资源监控和作业调度 监控所有TaskTracker 与job的健康状况,一旦发现失败,就将相应的任务转移到其他节点
  • 跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉作业调度器
  • 调度器会在资源出现空闲时,选择合适的任务使用这些资源

TaskTracker

  • 周期性地通过Heartbeat 将本节点上资源的使用情况和任务的运行进度汇报给JobTracker
  • 接收JobTracker 发送过来的命令并执行相应的操作(如启动新任务、杀死任务等)
  • 使用“slot”等量划分本节点上的资源量,“slot”代表计算资源(CPU、内存等)分配给Task 使用

Task

  • 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动
  • Map Task 和Reduce Task 分别使用Map slot 和Reduce slot

JobTracker:存在单点故障,一旦出现故障,整个集群就不可用,出现故障之后重启一下,再把作业重新提交就可以了,它不会像 HDFS 那样出现数据的丢失

TaskTracker:周期性向 JobTracker 汇报心跳,如果一定时间内没有汇报,JobTracker 就认为该TaskTracker 挂掉了,或者TaskTracker上运行的Task失败次数太多,就会把上面所有任务调度到其它TaskTracker上

Task:MapTask和ReduceTask 也可能运行挂掉,比如内存超出了或者磁盘挂掉了,TaskTracker会汇报JobTracker,JobTracker会把该Task调度到其它节点上,但受到重试次数的限制

2017.5.11 MapReduce运行机制的更多相关文章

  1. mapreduce运行机制

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt243 谈mapreduce运行机制,可以从很多不同的角度来描述,比如说从ma ...

  2. 【MapReduce】三、MapReduce运行机制

      通过前面对map端.reduce端以及整个shuffle端工作流程的介绍,我们已经了解了MapReduce的并行运算模型,基本可以使用MapReduce进行编程,那么MapRecude究竟是如何执 ...

  3. MapReduce 运行机制

    Hadoop中的MapReduce是一个使用简单的软件框架,基于它写出来的应用程序能够运行在由上千个机器组成的大型集群上,并且以一种可靠容错并行处理TB级别的数据集. 一个MapReduce作业(jo ...

  4. 第2节 mapreduce深入学习:11、maptask运行机制(多看几遍)

    mapTask运行机制详解以及mapTask的并行度在mapTask当中,一个文件的切片大小使用默认值是128M,就是跟我们一个block块对应大小一样 MapTask运行的整个过程 背下来1.Tex ...

  5. 大数据技术 - MapReduce 作业的运行机制

    前几章我们介绍了 Hadoop 的 MapReduce 和 HDFS 两大组件,内容比较基础,看完后可以写简单的 MR 应用程序,也能够用命令行或 Java API 操作 HDFS.但要对 Hadoo ...

  6. 经典MapReduce作业和Yarn上MapReduce作业运行机制

    一.经典MapReduce的作业运行机制 如下图是经典MapReduce作业的工作原理: 1.1 经典MapReduce作业的实体 经典MapReduce作业运行过程包含的实体: 客户端,提交MapR ...

  7. mapreduce任务失败、重试、猜測式运行机制小结

    mapreduce中我们自己定义的mapper和reducer程序在运行后有可能遇上出错退出的情况,mapreduce中jobtracker会全程追踪任务的运行情况,对于出错的任务mapreduce也 ...

  8. MapReduce的核心运行机制

    MapReduce的核心运行机制概述: 一个完整的 MapReduce 程序在分布式运行时有两类实例进程: 1.MRAppMaster:负责整个程序的过程调度及状态协调 2.Yarnchild:负责 ...

  9. MapReduce工作机制——Word Count实例(一)

    MapReduce工作机制--Word Count实例(一) MapReduce的思想是分布式计算,也就是分而治之,并行计算提高速度. 编程思想 首先,要将数据抽象为键值对的形式,map函数输入键值对 ...

随机推荐

  1. 派生类时使用private的目的 《私有派生》

    第一:继承方式是public的情况下: 当成员是public的时候,派生类对象可以直接调用基类的这个方法和数据, 当数据是private的时候,派生类的对象不能直接调用之,可以通过调用基类的方法来访问 ...

  2. Win10系列:C#应用控件基础4

    ComboBox控件 ComboBox控件包含一个不可编辑的文本框和一个下拉列表,这个下拉列表是由多个ComboBoxItem子元素组成的.使用ComboBox控件可以节省界面空间,因为ComboBo ...

  3. 阿里云免费申请https证书

    申请地址   https://common-buy.aliyun.com/?spm=a2c4e.11153940.blogcont65199.22.30f968210RsUSx&commodi ...

  4. learning ddr input clock frequency change condition

  5. mybatis输出sql语句

    方法一: 这种方法是mybatis官网上介绍的,比较好用: log4j.properties: log4j.rootLogger=ERROR,consolelog4j.appender.console ...

  6. python全栈开发笔记---------基本数据类型

    基本数据类似包括: 字符串(str) 数字(int) 列表(list) 元祖(tuple) 字典(dict) 布尔值(bool) 字符串(引号): name = "我是某某某" n ...

  7. bootstrap 下拉选中查询

    <div class="form-group"> <label class="col-lg-3 col-sm-2 control-label" ...

  8. DevExpress WinForms v18.2新版亮点(一)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v1 ...

  9. [PyImageSearch] Ubuntu16.04 使用深度学习和OpenCV实现物体检测

    上一篇博文中讲到如何用OpenCV实现物体分类,但是接下来这篇博文将会告诉你图片中物体的位置具体在哪里. 我们将会知道如何使用OpenCV‘s的dnn模块去加载一个预训练的物体检测网络,它能使得我们将 ...

  10. Ansible-playbook的简单使用 [转]

    一. 介绍 ansbile-playbook是一系列ansible命令的集合,利用yaml 语言编写.playbook命令根据自上而下的顺序依次执行.同时,playbook开创了很多特性,它可以允许你 ...