- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GFS设计动机 系统架构 GFS特点 Master容错 Chunk Server容错 小结 讨论 MapReduce操作执行流程图 操作过程 操作过程 MapReduce容错 习题 1.Google云计算技术包括哪些内容? 2.当前主流分布式文件系统有哪些?各有什么优缺点? 3.GFS采用了哪些容错措施来确保整个系统的可靠性? 4.MapReduce与传统的分布式程序设计相比有何优点? ?计算问题简单,但求解困难 ?待处理数据量巨大(PB级),只有分布在成百上千个节点上并行计算才能在可接受的时间内完成 ?如何进行并行分布式计算? ?如何分发待处理数据? ?如何处理分布式计算中的错误? 简单的问题,计算并不简单! Jeffery Dean设计一个新的抽象模型, 封装并行处理、容错处理、本地化计算、负载均衡的细节,还提供了一个简单而强大的接口 这就是MapReduce Google MapReduce 架构设计师 Jeffrey Dean 分布式数据处理MapReduce ?产生背景 ?编程模型 实现机制 案例分析 MapReduce运行模型 Map函数——对一部分原始数据进行指定的操作。每个Map操作都针对不同的原始数据,因此Map与Map之间是互相独立的,这使得它们可以充分并行化 Reduce操作——对每个Map所产生的一部分中间结果进行合并操作,每个Reduce所处理的Map中间结果是互不交叉的,所有Reduce产生的最终结果经过简单连接就形成了完整的结果集 Map: (in_key, in_value) ? {(keyj, valuej) | j = 1…k} Reduce: (key, [value1,…,valuem]) ? (key, final_value) 开发者需编写 两个主要函数 Map输入参数:in_key和in_value,它指明了Map需要处理的原始数据 Map输出结果:一组key,value对,这是经过Map操作后所产生的中间结果 Map: (in_key, in_value) ? {(keyj, valuej) | j = 1…k} Reduce: (key, [value1,…,valuem]) ? (key, final_value) 开发者需编写 两个主要函数 Reduce输入参数:(key, [value1,…,valuem]) Reduce工作:对这些对应相同key的value值进行归并处理 Reduce输出结果:(key, final_value),所有Reduce的结果并在一起就是最终结果 Map的输入参数指明了需要处理哪部分数据,以“在文本中的起始位置,需要处理的数据长度”表示,经过Map处理,形成一批中间结果“单词,出现次数”。而Reduce函数处理中间结果,将相同单词出现的次数进行累加,得到每个单词总的出现次数 怎么用MapReduce计算一个大型文本文件中各单词出现次数? 分布式数据处理MapReduce ?产生背景 ?编程模型 实现机制 案例分析 (1)输入文件分成M块,每块大概16M~64MB(可以通过参数决定),接着在集群的机器上执行分派处理程序 (2)M个Map任务和R个Reduce任务需要分派,Master选择空闲Worker来分配这些Map或Reduce任务 (3)Worker读取并处理相关输入块,Map函数产生的中间结果key,value对暂时缓冲到内存 (4)中间结果定时写到本地硬盘,分区函数将其分成R个区。中间结果在本地硬盘的位置信息将被发送回Master,然后Master负责把这些位置信息传送给Reduce Worker (5)当Master通知执行Reduce的Worker关于中间key,value对的位置时,它调用远程过程,从Map Worker的本地硬盘上读取缓冲的中间数据。当Reduce Worker读到所有的中间数据,它就使用中间key进行排序,这样可使相同key的值都在一起 (6)Reduce Worker根据每一个唯一中间key来遍历所有的排序后的中间数据,并且把key和相关的中间结果值集合传递给用户定义的Reduce函数。Reduce函数的结果写到一个最终的输出文件 (7)当所有的Map任务和Reduce任务都完成的时候,Master激活用户程序。此时MapReduce返回用户程序的调用点 Master周期性地给Worker发送ping命令,若没有应答,则认为Worker失效,终止其任务调度,把该任务调度到其他Worker上重新执行 Master会周期性地设置检查点(checkpoint),并导出Master
文档评论(0)