Google MapReduce 论文


1. 介绍
MapReduce是用来处理和生成大数据量的一种编程模型。用户指定map函数处理key/value的输入,产生临时性的key/value值,
然后和通过reduce函数来合并临时性的key/value值。采用这种编程模式可以自动的并行执行在大规模的集群上,可以不用关心
并行和分布式的细节。

2. 编程模型
这种计算模型将输入的key/value,产生一组key/value输出。MapReduce库提供了两个函数Map和Reduce。
Map: 通过输入的key/value值,产生一组临时的key/value输出。MapReduce库组合临时的相同键值,将其传入Reduce函数。
Reduce: 接受临时的key I 和一组对应的value, 合并这个key中的所有value。

3. 函数执行流程
Google MapReduce - spring8743 - 我的博客
 

4. 容错机制
work failure
master会周期性的ping worker机器,如果一定的的时间内没有回复就将其标志为failure,并且重新分配一个新的worker。

master failure
可以周期性的将master的数据文件写入checkpoint,当master失败的时候,一份新的拷贝可以迅速的从checkpoint恢复。

5. 任务分配
我们将map阶段分为M小片,将reduce阶段分为R小片。通常情况下M和R比worker机器的数量大的多。因为master要生成
O(M+R)的任务,在内存中保持O(M*R)的状态。实际上,M的选择要保证每个任务片的数据量大小在16MB和64MB之间。
在GOOGLE的环境中,MapReduce的计算采用M=200,000和R=5000 采用2000台worker机器。M:R:W = 100 :2.5 : 1

6. 状态信息
master节点运行在一个http服务器上,状态信息会显示当前计算的进度,例如多少个任务在执行,多少已经完成。还可以
显示每个任务输出的文件等信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值