欢迎来到天天文库
浏览记录
ID:58875128
大小:263.00 KB
页数:18页
时间:2020-09-21
《分布式数据库大作业.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、..分布式数据库大作业HadoopMapReduce云计算模型研究学院:软件学院专业:软件工程.....2014年01月02日理工大学HadoopMapReduce云计算模型研究1.引言Hadoop[1]是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。其包括两个部分:HDFS[2]和MapReduce[3]。DFS即HadoopDistributedFileSystem(Hadoop分布式文件系统),HDFS具有高容错
2、性,并且可以被部署在低价的硬件设备之上。HDFS很适合那些有大数据集的应用,并且提供了对数据读写的高吞吐率。HDFS是一个master/slave的结构,就通常的部署来说,在master上只运行一个Namenode,而在每一个slave上运行一个Datanode。HDFS支持传统的层次文件组织结构,同现有的一些文件系统在操作上很类似,比如你可以创建和删除一个文件,把一个文件从一个目录移到另一个目录,重命名等等操作。Namenode管理着整个分布式文件系统,对文件系统的操作(如建立、删除文件和文件夹)都是通过Namenode来控制[4]。MapReduce是由Google提出的一种并行分
3、布式编程模型[5-7].....。用以进行大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。至少现阶段而言,对许多开发人员来说,并行计算还是一个比较遥远的东西。MapReduce就是一种简化并行计算的编程模型,它让那些没有多少并行计算经验的开发人员也可以开发并行应用。MapReduce的名字源于这个模型中的两项核心操作:Map和Reduce。也许熟悉FunctionalProgramming(函数式编程)的人见到这两个词会倍感亲切。简单的说来,Map是把一组数据一对一的映射为另外的一组数据,其映射的规则由一个函数来指定,比如对[1,2,3,4]进行乘2的映射就变成了[
4、2,4,6,8]。Reduce是对一组数据进行归约,这个归约的规则由一个函数指定,比如对[1,2,3,4]进行求和的归约得到结果是10,而对它进行求积的归约结果是24。1.MapReduce的基本原理MapReduce是云计算的核心技术之一,它为并行系统的数据处理提供了一个简单、优雅的解决方案。其主要目的是为了大型集群的系统能在大数据集上进行并行工作,并用于大规模数据的并行运算。DivideandConquer”是Mapreduce的核心思想[8]。面对一个规模庞大的问题,要处理是以TB计的数据,Mapreduce采用“输入”------“分解”------“解决”------“聚合”
5、------“输出结果”的基本过程。在MapRedcue模型中用户只须指定一个map函数来处理一个输入的key/value对,产生中间结果key/value对集,再通过一个由用户指定的reduce函数来处理中间结果中具有相同key值的value。适合用MapReduce来处理的数据集(或任务)有一个基本要求:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理[9-10]。MapReduce通过把对数据集的大规模操作分发给网络上的每个节点实现可靠性;每个节点会周期性的把完成的工作和状态的更新报告回来。如果一个节点保持沉默超过一个预设的时间间隔,主节点(类同
6、GoogleFileSystem.....中的主服务器)记录下这个节点状态为死亡,并把分配给这个节点的数据发到别的节点。每个操作使用命名文件的原子操作以确保不会发生并行线程间的冲突;当文件被改名的时候,系统可能会把他们复制到任务名以外的另一个名字上去。(避免副作用)。化简操作工作方式很类似,但是由于化简操作在并行能力较差,主节点会尽量把化简操作调度在一个节点上,或者离需要操作的数据尽可能近的节点上了;这个特性可以满足Google的需求,因为他们有足够的带宽,他们的部网络没有那么多的机器。在Google,MapReduce用在非常广泛的应用程序中,包括“分布grep,分布排序,web连接
7、图反转,每台机器的词矢量,web访问日志分析,反向索引构建,文档聚类,机器学习,基于统计的机器翻译...”值得注意的是,MapReduce实现以后,它被用来重新生成Google的整个索引,并取代老的adhoc程序去更新索引。 MapReduce会生成大量的临时文件,为了提高效率,它利用Google文件系统来管理和访问这些文件。1.框架的结构和工作流程Mapreduce框架的主要程序分为三种即Master,Map和Reduce。Master的主
此文档下载收益归作者所有