大数据框架MapReduce运行原理

本文详细介绍了MapReduce的运行原理,包括MapReduce架构、工作流程、以wordcount为例的实例分析,以及MapReduce的优缺点。MapReduce通过数据本地化策略进行任务分配,实现大规模数据集的并行运算。其优点在于易于编程、良好的扩展性和高容错性,但不适合实时计算和流式计算。
摘要由CSDN通过智能技术生成

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。MapReduce采用”分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是”任务的分解与结果的汇总”。

MapReduce架构

先来看一下MapReduce1.0的架构图

image

上图中的TaskTracker对应HDFS中的DataNode,

在MapReduce1.x中,用于执行MapReduce任务的机器角色有两个:一个是JobTracker;另一个是TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的。一个Hadoop集群中只有一台JobTracker。

流程分析

  1. 在客户端启动任务,客户端向JobTracker请求一个Job ID。
  2. 将运行任务所需要的程序文件复制到HDFS上,包括MapReduce程序打包的JAR文件、配置文件和客户端计算所得的输入划分信息。这些文件都存放在JobTracker专门为该任务创建的文件夹中。文件夹名Job ID。
  3. JobTracker接收到任务后,将其放在一个队列里,等待调度器对其进行调度,当作业调度器根据自己的调度算法调度到该任务时,会根据输入划分信息创建N个map任务,并将
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值