Hadoop上路_12-MapReduce流程演示

本文介绍了MapReduce的基本架构及其工作流程,包括jobtracker和tasktracker的角色职责,通过WordCount实例详细解释了分布式计算过程。

    MapReduce是单个jobstracker和多个tasktracker的组合。一般jobstrackerHDFS中的namenode在同一个节点,也可配置为单独节点;tasktrackerdatanode必须是同一个节点。jobstracker是整个MapReduce系统的主控节点。

1. jobstracker节点-Master节点: 

    (1)负责调度构成一个作业的全部任务,将之分配到不同的从属节点上。
    (2)通过心跳机制监控从属节点运行状况。一旦有意外,会立刻将任务转移。

2. tasktracker节点-Slave节点: 

    (1)负责执行主控节点分配的任务。
    (2tasktracker datanode 是同一个节点,以实现移动运算达到高效性。

3. MapReduce分布式运算工作流程:

    我们按照WordCount的例子来讲解: 
        (1)首先,jobstracker按照block块数量划分出tasktracker,每个task对应一个datanode
        (2)然后,全部block块读取完毕,抽象出完整文件,再将文件分片,分片大小默认是和Block块相同的。
        (3)之后,每个文件片对应一个map方法,map中执行K1V1遍历,输出K2V2
        (4)接着,由MapReduce模型执行多个shuffle操作,归并数据。输出K2[V2]
        (5)最后,每个shuffle结果输入一个reduce方法,按照我们的逻辑输出K3V3,并又以Block文件块形式保存到磁盘上。

    上面5个步骤是按照图示的简单讲解,其中还有一些细节没有讲到。比如分片后的序列化、map之前的归并、reduce之前的分区等等。这些在后续章节会做出讲解。
    现在这部分内容会很难理解,但记无妨。在下一章节中讲到WordCount代码时回想此图就会很快明白。

- end 

转载于:https://my.oschina.net/vigiles/blog/151113

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值