再写MapReduce执行流程之前,首先先对MapReduce有一些了解:

1. 简介
  MapReduce是一个计算框架,既然是做计算的框架,那么表现的形式上就有输入,操作输入,得到结果
2.主从结构
  a.Hadoop1.0
    
MapReduce是主从结构,Hadoop1.0的主是JobTracker,从TaskTracker。
      JobTracker作用 : 作业的管理者,将作业分解成一堆的任务(task),其中任务又分为MapTask和ReduceTask。将任务分派给TaskTracker运行。作业的监控,容错处理,在一定时间的间隔内,JT没有收到TT的心跳信息,那么说明TT很有可能是挂了,TT上运行的任务会被指派到其他的TT上去执行。
      TaskTracker作用 : 任务的执行者,在TT上运行task。会与JT进行交互:执行/启动/作业,发送心跳信息给JT。
      MapTask作用 : 自己开发的map任务交由task进行处理。解析每条记录的数据,交给自己的map方法处理。将map的输出结果写到本地磁盘。
      ReduceTask作用 : 将map task输出的数据进行读取。按照数据进行分组传给编写的reduce方法处理。输出结果写到HDFS。
  b.Hadoop2.0
   
 因为JobTracker单点故障,成为系统的瓶颈,限制系统进一步扩展,在Hadoop2.0引进Yarn,将MR运行于资源管理框架Yarn之上
      ResourceManager作用 : 负责调度分配每一个task任务运行于NodeManager上,如果发现有失败的,就重新分配任务到其他节点上,每一个Hadoop集群只有一个ResourceManager,一般运行在master节点
      NodeManager作用 : NodeManager主动与ResourceManager通信,接收作业,并负责执行每一个task任务,为了减少网络带宽,NodeManager最好运行在HDFS的DataNode上

  

了解MapReduce_2的更多相关文章

  1. 【合集】Hadoop 合集

    0. 说明 Hadoop 随笔的目录 1. HDFS 主要内容: [HDFS_1] HDFS 的概念和特性 [HDFS_2] HDFS 的 Shell 操作 [HDFS_3] HDFS 工作机制 [H ...

随机推荐

  1. 原生mybaits学习笔记

    目录 简介 maven引入 核心配置文件 方式一(简单) 配置 操作 方式二(old) 创建接口 配置mapper.xml 实现接口 操作 方式三(常用) 创建接口 配置mapper.xml 操作 配 ...

  2. GOOGLE高级搜索技巧

    前记:  我是完整的看完了.内容有点乱啊,自己没有时间整理,先放在自己的印象笔记里了....   二,GOOGLE特色 GOOGLE支持多达132种语言,包括简体中文和繁体中文: GOOGLE网站只提 ...

  3. leetcode Ch7-Graph Search

    1. Clone Graph BFS: class Solution { public: typedef UndirectedGraphNode UGNode; UndirectedGraphNode ...

  4. Sql server字段排序,如果字段是字符型的数字

    SELECT id , rownum FROM test ))),) ASC 1.如果想要根据字符型的数字排序,不建议转换成数字类型在order by,因为数据存在字符时,可能转换失败. 2.使用RI ...

  5. LeetCode5 最长回文子串

    最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" ...

  6. Effective C++(10) 重载赋值操作符时,返回该对象的引用(retrun *this)

    问题聚焦: 这个准则比较简短,但是往往就是这种细节的地方,可以提高你的代码质量. 细节决定成败,让我们一起学习这条重载赋值操作符时需要遵守的准则吧. 还是以一个例子开始: Demo // 连锁赋值 x ...

  7. C# 委托/Func() 中 GetInvocationList() 方法的使用 | 接收委托多个返回值

    在日常使用委托时,有以下常用方法 方法名称 说明  Clone   创建委托的浅表副本.  GetInvocationList   按照调用顺序返回此多路广播委托的调用列表.  GetMethodIm ...

  8. struts配置中的常量定义

    一.常量可以在struts.xml或struts.properties中配置,建议在struts.xml中配置,两种配置方式如下: (1)在struts.xml文件中配置常量 <struts&g ...

  9. 实用的 CSS 小片段

    看了 30 Seconds CSS,有了许多收获,所以写下了这篇文章,算是收藏一些代码小片段,留作后用. 一.手写 Loading 动画 (1)弹性加载动画 CSS 代码如下: .bounce-loa ...

  10. 【C语言天天练(二二)】位操作

    C的位运算符 1.二进制反码或按位取反:~ ~(10011010) = (01100101). 假设val是一个unsigned char,~val不改名原来val的值. 2.位与:& 二进制 ...