2021年分布式数据库大作业.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式数据库大作业 Hadoop MapReduce云计算模型研究 学院: 软件学院 专业: 软件工程 01月02日 大连理工大学 Hadoop MapReduce云计算模型研究 引言 Hadoop[1]是一个分布式系统基础架构, 由Apache基金会开发。用户能够在不了解分布式底层细节情况下, 开发分布式程序。充足利用集群威力高速运算和存放。简单地说来, Hadoop是一个能够更轻易开发和运行处理大规模数据软件平台。其包含两个部分: HDFS[2]和MapReduce[3]。 DFS即HadoopDistributedFileSystem(Hadoop分布式文件系统), HDFS含有高容错性, 而且能够被布署在低价硬件设备之上。HDFS很适合那些有大数据集应用, 而且提供了对数据读写高吞吐率。HDFS是一个master/slave结构, 就通常布署来说, 在master上只运行一个Namenode, 而在每一个slave上运行一个Datanode。HDFS支持传统层次文件组织结构, 同现有部分文件系统在操作上很类似, 比如你能够创建和删除一个文件, 把一个文件从一个目录移到另一个目录, 重命名等等操作。Namenode管理着整个分布式文件系统, 对文件系统操作(如建立、 删除文件和文件夹)都是经过Namenode来控制[4]。 MapReduce是由谷歌提出一个并行分布式编程模型[5-7]。用以进行大数据量计算。对于大数据量计算, 通常采取处理手法就是并行计算。最少现阶段而言, 对很多开发人员来说, 并行计算还是一个比较遥远东西。MapReduce就是一个简化并行计算编程模型, 它让那些没有多少并行计算经验开发人员也能够开发并行应用。MapReduce名字源于这个模型中两项关键操作: Map和Reduce。可能熟悉FunctionalProgramming(函数式编程)人见到这两个词会倍感亲切。简单说来, Map是把一组数据一对一映射为另外一组数据, 其映射规则由一个函数来指定, 比如对[1,2,3,4]进行乘2映射就变成了[2,4,6,8]。Reduce是对一组数据进行归约, 这个归约规则由一个函数指定, 比如对[1,2,3,4]进行求和归约得到结果是10, 而对它进行求积归约结果是24。 MapReduce基础原理 MapReduce是云计算关键技术之一, 它为并行系统数据处理提供了一个简单、 优雅处理方案。其关键目是为了大型集群系统能在大数据集上进行并行工作, 并用于大规模数据并行运算。 Divide and Conquer”是Mapreduce关键思想[8]。面对一个规模庞大问题, 要处理是以TB计数据, Mapreduce采取“输入”------“分解”------“处理”------“聚合”------“输出结果”基础过程。 在MapRedcue 模型中用户只须指定一个map函数来处理一个输入key/value对, 产生中间结果key/value对集, 再经过一个由用户指定reduce函数来处理中间结果中含有相同key值value。适适用 MapReduce 来处理数据集(或任务)有一个基础要求: 待处理数据集能够分解成很多小数据集, 而且每一个小数据集都能够完全并行地进行处理[9-10]。 MapReduce经过把对数据集大规模操作分发给网络上每个节点实现可靠性; 每个节点会周期性把完成工作和状态更新汇报回来。假如一个节点保持缄默超出一个预设时间间隔, 主节点(类同谷歌 File System中主服务器)统计下这个节点状态为死亡, 并把分配给这个节点数据发到别节点。每个操作使用命名文件原子操作以确保不会发生并行线程间冲突; 当文件被更名时候, 系统可能会把她们复制到任务名以外另一个名字上去。(避免副作用)。 化简操作工作方法很类似, 不过因为化简操作在并行能力较差, 主节点会尽可能把化简操作调度在一个节点上, 或者离需要操作数据尽可能近节点上了; 这个特征能够满足谷歌需求, 因为她们有足够带宽, 她们内部网络没有那么多机器。 在谷歌, MapReduce用在非常广泛应用程序中, 包含“分布grep, 分布排序, web连接图反转, 每台机器词矢量, web访问日志分析, 反向索引构建, 文档聚类,机器学习, 基于统计机器翻译...”值得注意是, MapReduce实现以后, 它被用来重新生成谷歌整个索引, 并替换老ad hoc程序去更新索引。   MapReduce会生成大量临时文件, 为了提升效率, 它利用谷歌文件系统来管理和访问这些文件。 框架结构和工作步骤 Mapreduce框架关键程序分为三种即Master, M

文档评论(0)

181****8523 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档