基于Hadoop的计算机分布式存储与数据分发设计.docx

基于Hadoop的计算机分布式存储与数据分发设计.docx

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

?

?

基于Hadoop的计算机分布式存储与数据分发设计

?

?

摘要:本文以Hadoop的计算机分布式存储与数据分发设计为研究对象,首先简单介绍了何为Hadoop,并分析了其工作流程,随后探讨分析了基于Hadoop的计算机分布式存储策略,最后对基于Hadoop的数据分发策略应用进行了探讨分析,以供参考。

关键词:Hadoop系统;分布式存储策略;数据分发设计

在互联网飞速发展的当下,未来人们更加倾向于移动联网设备的携带,从而为人们工作学习与生活提供更多的便利。而通过将Hadoop的计算机分布式存儲与数据分发设计应用于移动设备之中,能够提升移动设备文件读取效率,避免出现网络堵塞问题,有效降低网络资源损耗。

1

Hadoop的概述和工作流程

1.1Hadoop的概述

Hadoop最初由“阿帕奇”基金会所开发的分布式系统基础架构,这是一种当前比较常见的分布式系统基础框架,在很多硬件设备组成集群上有着广泛的应用,不仅如此,Hadoop还能够在应用程序进行,可以为程序运转提供一组更稳定的接口,从而使分布式系统得可靠性加强,还有非常好的扩展性。组成它的内容很多,有HDFS、Map、Reduce、HBase等。在Hadoop中主要包括:HDFS(分布式文件系统)、MapReduce(并行编程计算模型)、HBase(分布式数据库)、Zookeeper(分布式服务框架)以及Hive(数据仓库),其中核心设计是为海量数据提供存储的HDFS及为海量数据提供并行计算的MapReduce。

1.2MapReduce编程模型

组成Hadoop的MapReduce编程模型最初是谷歌提出的,主要是对大规模集群专门进行海量数据处理的并行计算模型、处理的过程其实就是MapReduce把一堆杂乱无章的数据在处理过程中按照某种特征归纳起来,然后经过并行处理最后得到最终结果。而这期间Map的阶段所要面对的是一些互不相关,杂乱无章的数据,所以在这个阶段就需要对每个数据进行解析,从而提取出数据的一些特征。然后经MapReduce的Shuffle的阶段以后,在后面进行的Reduc阶段就可以得到已经按照数据的某种特征进行归纳的数据,后面的处理就是在此基础上做进一步的并行处理就可得出结论。

而且MapReduce在执行作业的时候主要历经了对数据块进行分割、创建任务、Map、Combiner、Shuffle、Reduce几个过程,在此流程中我们可以得出MapReduce可简化分布式编程工作,如果是在使用默认输入、输出的数据格式,开发人员只需编写Map和Reduce两个函数就可以对海量的数据进行并行分析。

1.3HDFS文件系统

HDFS文件系统是由Hadoop实现的分布式文件系统。主要是专门负责对存储Hadoop集群上的数据进行存储、管理、冗余备份和出错恢复的相关处理。HDFS具有高容错性和高扩展性,而且可以设计部署在低廉硬件组成的集群上,同时还可以提供高吞吐量对应用程序的数据进行访问,此外还可以提供流式数据的访问模式读写超大文件,还可以很好的适用那些有着海量数据集的应用程序。HDFS文件系统的特点主要有:

(1)能满足超大规模的数据集需求;

(2)可以容许节点失效发生;

(3)扩展性很强;

(4)在存储文件是能够将文件分割成数个数据块。

1.4Hadop的工作流程

Hadop工作流程如下:

(1)进行数据模块的分割,由MapReduce负责数据处理,这些数据全部来源于HDFS,在进行计算前,需要先做好数据的分块。

(2)进行任务创建。需要先进行Job提交,在JobTracker获取到相应提交数据后,便会为本次任务进行MapTask与ReduceTask的分配,并提交至TaskTracker。

(3)经历Map过程。在每个Datanode中,都运行有一个TaskTracker,其为负责进行Map任务的执行。在具体执行过程中,MapTask会先进行数据的读取,然后借助Map函数进行计算,在输出中间结果后,会存放至本地磁盘之中,或者直接读取至内存之中。

(4)需要经历Combiner过程。在上述过程中,会有很多中间结果产出,通常不能将其直接交由ReduceTask进行处理,否则将会大大增加网络拥塞的概率。而通过Combiner过程,能够统一合并这些结果,便于后续进行集中处理。

(5)Shuffie过程。该过程需要将数据从MapTask输出至ReduceTask。

(6)Reduce过程。该过程会将MapTask的数据输送至Reduce函数,在完成数据归并后可获得最终结果。待整个Job执行完毕后,将会把获得结果存储至HDFS之中[1]。

HDFS写文件时的步骤如下:

(1)首先在客户端调用DistrbuteFileSystem对象中的函数C

您可能关注的文档

文档评论(0)

135****3598 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档