- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于HDFS存储服务系统研究和应用
基于HDFS存储服务系统研究和应用
摘 要: 本文研究对象是云计算的分布式存储技术,通过构建基于HDFS的云存储服务系统来解决海量数据的存储难题,降低实施分布式存储系统的成本。
关键词: Hadoop;HDFS;云存储;
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)0110207-01
1 引言
互联网基础建设和普及的时代已经过去,移动互联、三网合一使得网络的涵盖范围更加广泛。通过网络访问非本地的计算服务(包括数据处理、存储和信息服务等)的条件越来越成熟,使用频率也越来越高。面对当前PB级的海量数据存储需求传统的SAN、NAS或IP存储在容量、可靠性、自治性和性能的扩展等方面已不能满足当前数据存储和管理要求。如受到物理设备(异构的存储机构、磁盘驱动器的数量、内存大小和控制器性能等)的限制,会造成许多功能上的限制,系统遇到瓶颈时不断地要求用户升级到更大的???储系统或添加更多的存储管理设备,从而增加了成本。云计算架构的分布式存储技术能充分利用其技术,结合超大规模、高可扩展性、廉价性、高可靠性等特点来满足当前PB级的海量数据存储管理要求。
本文研究的HDFS分布式文件系统(Hadoop Distributed File System)是Google File System文件系统的开源实现。
2 HDFS分布式文件系统设计目标
Hadoop是Aapche开源组织的一个分布式计算框架,为应用程序提供了一组稳定可靠的接口,用于构建一个高性能、高可用性、稳定、可扩展的系统,底层可实现HDFS分布式文件系统。其设计成适合运行在普通硬件上的文件系统,为Hadoop分布式计算存储提供底层支持。
HDFS是分布式计算中数据存储管理的基础。其设计目标如下:
1)硬件故障是常态。HDFS由成百上千的节点组成,每个节点随时都可能出现故障,节点的错误检测并快速自动恢复是设计核心的目标。
2)流式数据访问。运行在HDFS上的应用以流式数据读取为主,重点在于做批量数据处理而不是专注于用户交互处理,更关注数据的高吞吐量。
3)大规模数据集。HDFS的文件大小一般在GB级至TB级,为了保证整体上比较高的数据传输速率,将一个集群扩展到数百甚至更多个节点。
4)简单一致性模型。HDFS应用程序需要对文件实行一次写、多次读的访问模式。文件一经创建、写入和关闭之后就不需要在更改了。
5)移动计算比移动数据更划算。移动计算可以减少网络的拥塞和提高系统的吞吐量。HDFS提供了接口,以便让程序将自己移动到数据存储的地方执行。
3 HDFS数据存储的实现
3.1 数据组织和交互
HDFS架构采用Master/Slave模式,一个集群由一个NameNode和多个DateNode组成。在集群中只有一个NameNode结点管理集群文件系统的名字空间;管理客户端对集群中的文件的访问;管理DataNode节点的状态报告。
在集群中DataNode节点可存在多个,一个节点对应一个实例。数据节点进程的任务是:
1)负责管理所在节点上存储的数据的读写。系统客户端需要请求对指定数据节点进行读写操作,DataNode作为数据节点的服务进程来与文件系统客户端打交道。数据节点进程在NameNode的统一指挥调度下完成,NameNode交互过程中收到了可以执行文件块的相关操作命令后让文件系统客户端执行指定的操作。具体文件的操作不是DataNode来完成,经过NameNode
许可后,文件系统客户端进程来执行实际操作。
2)心跳检测。每个DataNode节点会周期性地向NameNode
发送心跳信号和文件块状态报告,以便NameNode获取到工作集群中DataNode节点状态的全局视图,从而掌握它们的状态。如存在DataNode节点失效的情况,NameNode会调度其它DataNode
执行失效结点上文件块的复制处理,保证文件块的副本数达到规定数量。
3)数据的流水线复制。当客户端从NameNodeJobTracker
进程获取到要进行复制的Block块列表(列表中包含指定副本的存放位置,即某个DataNode节点)后,将客户端缓存的文件块复制到第一个DataNode节点上,并非整个块都复制到第一个DataNode完成以后才复制到第二个节点上,由第一个DataNode
向第二个DataNode节点复制,……如此下去完成文件块及其块副本的流水线复制。
在集群中,存在三个主要的进程:NameNode进程、DataNode进程和文件系统客户端进程,这三个进程之间都是基于Hadoop实现的RPC机制进行通信的,RPC模
文档评论(0)