mapreduce的执行流程以及shuffle过程

1、mapreduce概述

         a.mapreduce是一种分布式的计算模型,由google提出,主要用于搜索领域,解决海量数据的计算问题。
         b.mapreduce由两个阶段组成,map和reduce,用户只需要实现map()和reduce()两个函数,即可实现分布式计算。
         c.这两个函数的key,value对,表示函数的输入信息。

2.mapreducer的作业执行流程:

    图解:
       
              

3.MR过程中各个角色的作用:

    1) JobTracker :  负责接收用户提交的作业,负责启动,跟踪任务, :初始化作业,分配作业协调监控整个作业
              JobSubmissionProtocol是JobClient和JobTracker通信的接口
              InterTrackerProtocol是TaskTracker与JobTracker通信的接口
    2)JobClient::用户作业与JobTracker交互的主要接口,负责提交作业,负责启动,跟踪任务的执行,访问任务状态和日志
    3)TaskTracker:定期与JobTracker通信,执行Map和Reduce任务
    4)HDFS:保存作业的数据,配置,jar包,结果

4.MR执行流程细节:

    1)作业提交:
              a.提交作业之前,需要对作业进行配置:编写自己的MR程序;配置作业,包括输入输出路径等
              b.提交作业,配置完成后,通过JobClient提交
              c.具体功能:
                         JobClient与JobTracker通信得到一个jar包的存储路径和jobid;
                        输入输出路径检查是否存在
                        将job的jar包拷贝到HDFS
                        计算输入切片,将分片信息写到job.split中,切片的数量决定要启动几个mao任务
                        写job.xml
                        真正提交作业
    2)作业初始化:
              a.客户端提交作业后,JobTracker会将作业加入到作业调度器中,是一个队列的结构,然后进行作业的调度,默认是FIFO.
              b.具体功能:
                   作业初始化主要是指JobInprocess中完成
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值