和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. WPF 之 TreeView节点重命名

    下面的TreeView节点是通过数据双向绑定的方式,绑定到TextBlock控件和TextBox控件的Text属性上,并且让两者绑定相同的属性,同时使TextBox控件刚好完全覆盖TextBlock控 ...

  2. TNetHTTPClient 使用

    unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...

  3. day038 navicat pymysql

    今日内容: 1.navicat 2.pymysql 1.navicat 需要掌握 #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新建查询 ...

  4. 运行TensorFlow出现Your CPU supports instructions that this TensorFlow binary was not compiled to use: AV

    原因: import os #在顶头位置加上 os.environ["TF_CPP_MIN_LOG_LEVEL"]='1' # '1'表示默认的显示等级,运行时显示所有信息 os. ...

  5. net core 获取网站目录

    AppContext.BaseDirectory 获取项目的根目录

  6. turtle

    画一组同切圆 输入 import turtle turtle.color('red') turtle.circle(30) turtle.circle(60) turtle.circle(90) tu ...

  7. CPU的硬件结构和汇编语言

    (已更正) 这个问题包括CPU的硬件结构和汇编语言的范畴. 这里梳理一下. 首先, 题主"李建国"自问自答的部分说的是正确的, CPU的指令集是软件与CPU这两个层级之间的接口, ...

  8. gmtdefaults locate

    http://seisman.blog.ustc.edu.cn/index.php/archives/553

  9. js 唤起APP

    常常有这样的场景,咱们开发出来的APP需要进行推广,比如在页面顶部来一张大Banner图片,亦或一张二维码.但往往我们都是直接给推广图片加了一个下载链接(App Store中的).所以咱们来模拟一下用 ...

  10. Oracle in与exist条件分析

    select ...from user in('a','b','c'):in支持多个条件同时查询