网站大量收购闲置独家精品文档,联系QQ:2885784924

Google File System云计算文件系统.doc

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

Google File System、Lustre File System、Global File System 三种分布式文件系统研究 Google File System 前言 Google File System是当代 网络超大容量分布式文件系统设计的典范,Google的核心竞争力所在。Google的Search、GMail、video、blog spaces等等都是用基于此技术。 在Google公开了GoogleFS的论文后(2003年),目前关于GoogleFS最权威的资料就是那片15页的技术论文。并且已经有开源的项目开始借鉴GoogleFS的设计思想,开发类似的新型大容量分布式文件系统,如NDFS/ Hadoop等。 简介 GoogleFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对海量数据进行访问的应用。它运行于廉价的普通硬件上,但提供了容错复制功能,可以给大量的用户提供总体性能较高的可靠服务。 设计概述 (1)设计假设 GoogleFS与传统的分布式文件系统有很多相同的目标,但GoogleFS的设计受到了当前及预期的应用方面的工作量以及技术环境的驱动,因而形成了它与传统的分布式文件系统明显不同的设想。这就需要对传统的选择进行重新检验并进行完全不同的设计观点的探索。 GoogleFS与以往的文件系统的不同的特点如下: 1、硬件错误(包括存储设备或是存储节点的故障)不再被认为是异常的情况,而是将其作为常见的情况加以处理。因为文件系统由成千上万个用于存储的机器节点构成,而这些机器是由廉价的普通硬件组成并被大量的客户机访问。硬件的数量和质量使得一些机器随时都有可能无法工作并且有一部分还可能无法恢复。所以实时地监控、错误检测、容错、自动恢复对系统来说必不可少。 2、按照传统的标准,文件都非常大,长度达几个GB的文件是很平常的。每个文件通常包含很多应用对象。因为经常要处理快速增长的、包含数以万计的对象、长度达TB的数据集,我们很难管理成千上万的KB规模的文件块,即使底层文件系统提供支持。因此,设计中操作的参数、块的大小必须要重新考虑。对大型的文件的管理一定要能做到高效,对小型的文件也必须支持,但不必优化。 3、大部分文件的更新是通过添加新数据完成的,而不是改变已存在的数据。在一个文件中随机的操作在实践中几乎不存在。一旦写完,文件就只可读,很多数据都有这些特性。一些数据可能组成一个大仓库以供数据分析程序扫描。有些是运行中的程序连续产生的数据流。有些是档案性质的数据,有些是在某个机器上产生、在另外一个机器上处理的中间数据。由于这些对大型文件的访问方式,添加操作成为性能优化和原子性保证的焦点。而在客户机中缓存数据块则失去了吸引力。 4、工作量主要由两种读操作构成:对大量数据的流方式的读操作和对少量数据的随机方式的读操作。在前一种读操作中,可能要读几百KB,通常达 1MB和更多。来自同一个客户的连续操作通常会读文件的一个连续的区域。随机的读操作通常在一个随机的偏移处读几个KB。性能敏感的应用程序通常将对少量数据的读操作进行分类并进行批处理以使得读操作稳定地向前推进,而不要让它来来回回的读。 5、工作量还包含许多对大量数据进行的、连续的、向文件添加数据的写操作。所写的数据的规模和读相似。一旦写完,文件很少改动。在随机位置对少量数据的写操作也支持,但不必非常高效。 6、系统必须高效地实现定义完好的大量客户同时向同一个文件的添加操作的语义。 (2)系统接口 虽然GoogleFS没有像POSIX那样实现标准的API,但它提供了一个相似地文件系统界面,文件在目录中按层次组织起来并由路径名标识。 (3)体系结构 一个GoogleFS集群由一个Master和大量的chunkserver构成,并被许多客户(Client)访问。如图1所示。Master和 chunkserver通常是运行用户层服务进程的Linux机器。只要资源和可靠性允许,chunkserver和Client可以运行在同一个机器上。 文件被分成固定大小的块(block)。每个块由一个不变的、全局唯一的64位的chunk-handle标识,chunk-handle是在块创建的时候由Master分配的。chunkserver将块当作Linux文件存储在本地磁盘并可以读和写由chunk-handle和位区间指定的数据。出于可靠性考虑,每一个块被复制到多个chunkserver上。默认情况下,保存3个副本,但这可以由用户指定。 Master维护文件系统所有的元数据(metadata),包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置。它也控制系统范围的活动,如块租约(lease)管理,孤儿块的

文档评论(0)

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

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

1亿VIP精品文档

相关文档