和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. Minimum supported Gradle version is 4.1. Current version is 2.14.1

    Error:Minimum supported Gradle version is 4.1. Current version is 2.14.1. If using the gradle wrappe ...

  2. 逆袭之旅DAY13.东软实训.Oracle.简单的查询语句.限制.排序

    2018-07-09  21:34:00 一.简单查询: .查询数据表的所有列: SELECT * FROM 表名; SELECT 列名,列名.... FROM 表名; .起别名: SELECT 列名 ...

  3. shell 文件条件判断

    按照文件类型进行判断 '-b 文件' 判断该文件是否存在,并且是否为块设备文件(是块设备文件为真) '-c 文件' 判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真) '-d 文件' 判 ...

  4. Vue + Element UI 实现权限管理系统(搭建开发环境)

    技术基础 开发之前,请先熟悉下面的4个文档 vue.js2.0中文, 优秀的JS框架 vue-router, vue.js 配套路由 vuex,vue.js 应用状态管理库 Element,饿了么提供 ...

  5. docker 部署 flask(三)高级编写及生成镜像,安装requirements.txt

    简介: 上一篇,我写了如何使用别人的docker基础镜像,生成我们的docker镜像. 也就最基本的flask,没有别的库(包)支持.连数据库支持都没有. 也就让大家了解一下怎么生成镜像而已. 本篇介 ...

  6. python if elif else判断语句

    username = 'jack' password = ' _username = input('username') _password = input('password') if userna ...

  7. Express工作原理和源码分析一:创建路由

    Express是一基于Node的一个框架,用来快速创建Web服务的一个工具,为什么要使用Express呢,因为创建Web服务如果从Node开始有很多繁琐的工作要做,而Express为你解放了很多工作, ...

  8. Cracking The Coding Interview 2.5

    这题的思想来自于http://hawstein.com/posts/2.5.html,重新实现了一下 用hash来记录循环的起点 //Given a circular linked list, imp ...

  9. SQL-25 获取员工其当前的薪水比其manager当前薪水还高的相关信息

    题目描述 获取员工其当前的薪水比其manager当前薪水还高的相关信息,当前表示to_date='9999-01-01',结果第一列给出员工的emp_no,第二列给出其manager的manager_ ...

  10. Java作业五

    1.编程生成10个1~100之间的随机数,并统计每个数出现的概率. 这个博文里面又random的详细解释:https://www.cnblogs.com/ningvsban/p/3590722.htm ...