1 / 11
文档名称:

HDFS存储系统浅析.doc

格式:doc   大小:216KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

HDFS存储系统浅析.doc

上传人:86979448 2017/12/22 文件大小:216 KB

下载得到文件列表

HDFS存储系统浅析.doc

相关文档

文档介绍

文档介绍:学号:
题目 HDFS数据存储系统浅析
学院
专业
班级
姓名
课程
中间件技术与应用



HDFS数据存储系统浅析
摘要:Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。。本文主要有两部分组成,一部分是分析HDFS的基本特征和结构,比较它与其它分布式并行文件系统的异同点,从而理解HDFS的设计思想和目标;另一部分是描述了HDFS的数据管理机制。HDFS是一个适合部署在廉价的机器上,具有高传输率、高容错性等特点的系统,以流的形式访问文件系统中的数据,从而解决访问速度和安全性问题,非常适合大规模数据集上的应用。
关键词:Hadoop; HDFS;并行文件系统;大规模数据集
1 引言
Hadoop是Apache下的一个子项目,它原先是Nutch项目的组成部分,于2006年初从Nutch中分离出来成为一个独立的项目。Hadoop是一种易于扩展的分布式计算架构,能够将廉价PC节点联合起来提供大型计算服务。它完全使用Java语言开发,因而可以广泛运行在多种软硬件平台上。其主要优点是:可扩展性(Scalable)、低成本(Economical)、高效性(Efficient)、可靠性(Reliable)。但是也有一些不足的地方,如:
1)与其他文件系统的兼容操作效率较低;
2)难以处理实时性要求较高的应用;
3)目前缺乏稳定版本的开发接口为应用造成障碍。
如图1所示,Hadoop逻辑上分为两层:分布式文件系统HDFS(Hadoop Distributed File System)、MapReduce并行计算框架。
Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)是开源云计算软件平台Hadoop框架的底层实现部分,适合运行在通用硬件上的分布式文件系统,具有高容错性,能提供高吞吐量的数据访问,非常适合于大规模数据集上的应用。
MapReduce是在HDFS的基础上实现的并行框架,为用户提供容易使用的并行编程模式,MapReduce计算包括两个阶段,Map(映射)阶段和Reduce(规约)阶段。首先,Map函数把一组(Key,Value)输入,映射为一组中间结果(Key,Value),然后通过Reduce函数把具有相同Key值的中间结果,进行合并化简。MapReduce将计算作业分成许多小的单元,同时数据也会被HDFS分为多个Block,并且每个数据块被复制多份,保证系统的可靠性,HDFS按照一定的规则将数据块放置在集群中的不同机器上,以便MapReduce在数据宿主机器上进行计算。
图1 hadoop结构图
2 分布式文件系统HDFS
HDFS被设计为将海量文件存储在一个大集群的多台计算机上。HDFS的设计是受到了GFS地启发。HDFS将每一个文件以分块序列的形式进行存储,一个文件的所有分块除去最后一个分块外都是等大小的。为了实现容错将文件分块进行自动复制。文件分块的块大小和复制比例都是可以按照单个文件进行配置的。HDFS中的所有文件都是“只写一次”并且严格限定在任何时候只有一个写文件操作者。
HDFS基本特征
HDFS是Hadoop框架的分布式并行文件系统,是分布式计算的存储基石。它负责数据分布式存储及数据的管理,并能提供高吞吐量的数据访问。HDFS的基本特征如下:
(l)对于整个集群有单一的命名空间。
(2)文件会被分割成多个文件块,每个文件块被分配存储到数据节点上,而且根据配置会有复制的文件块来保证数据安全性。
(3)数据一致性。适合一次写入多次读取的模型,客户端在成功创建文件之后,才能看到文件的存在。
(4)Hadoop,包括HDFS,非常适合在廉价机器上的分布式存储和分布式处理。它是容错的、可伸缩的、非常易于扩展。并且,以简单性和适用性著称的MapReduce是Hadoop不可缺少的重要组成部分。
(5)HDFS的默认配置适合于大多数安装的应用。通常情况下,只有在一个非常大规模的集群上才需要修改默认配置。
(6)支持shell命令行风格的HDFS目录交互。
(7)HDFS是用java编写的,可广泛运行在多种软硬件平台上。
(8)HDFS经常性地实现新的特性和改进。
(9)NameNode和DataNode都内建了Web服务器,可以方便地查看集群的状态。
HDFS的结构
HDFS的体系框架是