网站大量收购闲置独家精品文档,联系QQ:2885784924

云计算(第三讲).ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
云计算(第三讲).ppt

* * * 使用MapReduce求解该问题 Step 1: 自动对文本进行分割(Split) Split操作(系统自动完成) 这里将文本分为3部分 使用MapReduce求解该问题 Step 2:在分割之后的每一对key,value进行用户定义的Map进行处理,再生成新的key,value对 3个Map操作,并行进行 使用MapReduce求解该问题 Step 3:对输出的结果集归拢、排序(Fold,系统自动完成) Fold(归拢)操作(系统自动完成) 使用MapReduce求解该问题 Step 4:通过Reduce操作生成最后结果 Reduce操作 1、处理流程 2、分片方式 2011-9-23 1、处理流程 2、分片方式 第一步:fork(分割) 用户程序将输入文件分成M块 1、处理流程 2、分片方式 第二步:assign(指派) map和assign reduce 主控程序Master指派map任务和reduce任务给worker 1、处理流程 2、分片方式 第三步:read (读取) 一个分配了Map任务的worker读取并处理相关的输入块 1、处理流程 2、分片方式 第四步:local write (本地写入) Map函数产生的中间结果被定时的写入到本地硬盘 1、处理流程 2、分片方式 第五步:remote read (远程读取) Reduce的worker调用远程过程从本地硬盘读取中间数据 1、处理流程 2、分片方式 第六步:write (写入) Reduce函数的结果写到一个最终的输出文件 源文件:GFS Map处理结果:本地存储 Reduce处理结果:GFS 日志:GFS 本地存储 Google MapReduce计算架构有什么问题? Worker故障 Master 周期性的ping每个worker。如果master在一个确定的时间段内没有收到worker返回的信息,那么它将把这个worker标记成失效 重新执行该节点上已经执行或尚未执行的Map任务 重新执行该节点上未完成的Reduce任务,已完成的不再执行 Master故障 定期写入检查点数据 从检查点恢复 WHY? 任务备份机制 慢的workers 会严重地拖延整个执行完成的时间 由于其他的任务占用了资源 磁盘损坏 解决方案:在临近结束的时候,启动多个进程来执行尚未完成的任务 谁先完成,就算谁 可以十分显著地提高执行效率 本地处理 Master 调度策略: 向GFS询问获得输入文件blocks副本的位置信息 Map tasks的输入数据通常按64MB来划分(GFS block 大小) 按照blocks所在的机器或机器所在机架的范围进行调度 效果 绝大部分机器从本地读取文件作为输入,节省大量带宽 跳过有问题的记录 一些特定的输入数据常导致Map/Reduce无法运行 最好的解决方法是调试或者修改 不一定可行 ~ 可能需要第三方库或源码 在每个worker里运行一个信号处理程序,捕获map或reduce任务崩溃时发出的信号,一旦捕获,就会向master报告,同时报告输入记录的编号信息。如果master看到一条记录有两次崩溃信息,那么就会对该记录进行标记,下次运行的时候,跳过该记录 实践证明,MapReduce是出色的分布式计算模型 Google宣布,其对分布于1000台计算机上的1TB数据进行排序仅仅需要68s 对4000台计算机上的1PB数据进行排序处理仅需要6小时2分钟(每次测试至少会损坏1块硬盘) 在2008年1月份,Google MapReduce平均每天的数据处理量是20PB,相当于美国国会图书馆当年5月份存档网络数据的240倍 “免费的午餐”已经结束 并行思维 MapReduce 并行分布式数据处理框架 屏蔽各种并行分布式计算的难题 1、处理流程 2、分片方式 第一步:fork(分割) 用户程序将输入文件分成M块 1、处理流程 2、分片方式 第二步:assign(指派) map和assign reduce 主控程序Master指派map任务和reduce任务给worker 1、处理流程 2、分片方式 第三步:read (读取) 一个分配了Map任务的worker读取并处理相关的输入块 1、处理流程 2、分片方式 第四步:local write (本地写入) Map函数产生的中间结果被定时的写入到本地硬盘 1、处理流程 2、分片方式 第五步:remote read (远程读取) Reduce的worker调用远程过程从本地硬盘读取中间数据 1、处理流程 2、分片方式 第六步:write (写入) Reduce函数的结果写到一个最终的输出文件 如何使用MapReduce实现海量数据的并行分布

您可能关注的文档

文档评论(0)

书屋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档