GiPS系统设计与实现赵俊彦闫梦龙郭辉摘要分布式文件系统(DFS)是.doc

GiPS系统设计与实现赵俊彦闫梦龙郭辉摘要分布式文件系统(DFS)是.doc

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

GiPS系统设计与实现 赵俊彦 闫梦龙 郭辉 摘要:分布式文件系统(DFS)是一种网络文件系统,它分布在多个计算机节点上,每个节点只会直接存取整个文件系统的一部分。我们参考了两个比较成熟的DFS架构——GFS和Hadoop,设计并实现了GiPS文件系统。GiPS是一个面向数据密集型应用的分布式文件系统,整个系统由Master节点、数据节点和客户端组成,具有一定的容错性和可扩展性。我们使用了适用于异种环境的面向对象中间件平台ICE,并使用C++语言进行开发实现。测试和试验表明,GiPS具备了文件系统的基本功能,实现了对数据的流式读写操作,并有一定的容错功能。 关键词:分布式文件系统; GFS; GiPS 1 引言 分布式文件系统(DFS)是一种网络文件系统,它分布在多个计算机节点上,每个节点只会直接存取整个文件系统的一部分。一般来说,分布式文件系统都会包括复制和容错功能,从而保障系统在某些节点出错的情况下仍能够继续正常工作,而不会出现数据丢失的情况。 DFS中的客户端、服务器端和存储设备分布在系统中的不同机器中,因此,它的服务必须通过网络来实现。DFS的具体结构和应用可以有很多种,服务可以在一些指定的机器上运行,也可以同时在客户端和服务器端运行,系统可以被实现为分布式操作系统的一部分,也可以成为一类专用于管理传统文件系统之间通信的软件。DFS最突出的特点,是其中的服务端和客户端的多样性和独立性[1]。 GiPS是一个面向数据密集型应用的分布式文件系统,系统的主要功能和应用集中于文件的分布式存储和读写。整个系统由Master节点、数据节点和客户端组成。它具有一定的容错性和可扩展性,屏蔽操作系统和硬件的异构性。整个系统的设计参考了GFS和Hadoop系统的架构,使用ICE和C++进行实现。 2 相关背景 2.1 GFS Google File System (GFS) 是由 Google设计并实现的一个分布式文件系统,它基于大量安装有Linux操作系统的普通PC构成的集群系统。整个系统由一台Master(通常有几台备份)和若干台ChunkServer构成。GFS中文件备份成固定大小的Chunk分别存储在不同的ChunkServer上,每个Chunk有多份拷贝,也存储在不同的ChunkServer上。Master负责维护GFS中的 Metadata,即文件名及其Chunk信息。客户端先从Master上得到文件的Metadata,根据要读取的数据在文件中的位置与相应的 ChunkServer通信,获取文件数据。GFS 以64M为一个Chunk(Block),每个Chunk至少存在于三台机器上。 高可靠性是GFS最重要的特点。GFS使用的是可靠性较差的普通PC,节点失效属于正常现象,因此解决单节点甚至双节点同时实效成为一个重要的问题。 在Google应用环境中需要处理海量数据,经常有大文件(几十G)的操作,而且常是多台机器同时数据输出到一个大文件中,供后面的流程使用。GFS也对这种特殊的应用需求做了很多优化,保证往大文件并发追写数据时的可靠和高效[2]。 Google拥有超过200个的GFS集群,其中有些集群的计算机数量超过5000台。Google现在拥有数以万计的连接池从GFS集群中获取数据,集群的数据存储规模可以达到5个PB,并且集群中的数据读写吞吐量可达到每秒40G。 图1 GFS架构 GiPS系统借鉴了GFS的Master、Chunkserver、Client框架,实现了文件的分块存储,将文件分成多个大小为64M的文件块。GiPS中的数据节点同样是构建于普通的PC机上,为解决可能频繁出现失效问题,系统实现了一定的容错功能。 2.2 Hadoop Hadoop是一个开源的分布式软件平台。基于Hadoop平台,用户能够方便的开发和运行能够处理海量数据的应用程序。Hadoop实现了MapReduce,能够把任务分配成多个部分,分配给集群中的节点进行处理。Hadoop构建了分布式文件系统HDFS,系统中的数据被存储在不同运算节点中。Yahoo已定期在搜索业务上使用Hadoop来增强其产品服务,如排名和广告功能等。Hadoop的长期目标是提供世界级的分布式计算工具。 Hadoop借鉴了GFS的设计理念。Hadoop同样认为硬件错误是正常的,而不是异常。因此,检测错误并快速自动恢复就成了HDFS的核心设计目标。HDFS为了那些批量处理而设计的,而不是为普通用户的交互使用,强调的是数据访问的高吞吐量而不是数据访问的低反应时间。HDFS的应用程序需要对文件实行一次性写,多次读的访问模式。文件一旦建立后写入,文件就不需要再更改了。运行在HDFS上的应用程序使用大数据集。HDFS一个典型的文件可能是几GB的或者几TB的。Ha

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档