您现在的位置是:首页» windows系统» googlefilesystem翻译,google gfs机制

googlefilesystem翻译,google gfs机制

2023-10-22 00:14:09
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!  Google File System(简称GFS)是一个特别棒的分布式文件系统,可以应用在大规模且可扩展的环境下。最酷的是,它还可以在便宜的商务服务器上运行,并且既能保证系统的可靠性和可用性,又能

今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!

  Google File System(简称GFS)是一个特别棒的分布式文件系统,可以应用在大规模且可扩展的环境下。最酷的是,它还可以在便宜的商务服务器上运行,并且既能保证系统的可靠性和可用性,又能大幅度降低系统的成本。

  GFS的设计目标是要高性能、可靠性和可用性。它不把机器故障视为天大的事情,对系统故障处理得相当不错。通常,GFS会在数百甚至上千台廉价服务器上部署,并且会有许多廉价服务器上安装GFS Client来访问GFS服务。所以,各种故障,比如应用故障、操作系统问题、连接问题、网络故障,甚至是机器供电故障,都是经常发生的。但是GFS系统却非常厉害地支持系统监控、故障检测、故障容忍和自动恢复,提供了非常高的可靠性。

  其次,GFS用来存储的文件一般都很大,并且大部分操作都是追加形式的操作,而不是覆盖。一旦文件写入完成后,大部分的操作都是顺序读取文件。

  GFS不仅仅提供了常规的文件系统接口(比如POSIX),还支持一些非常酷的功能,比如快照和记录追加操作。使用快照的时候,可以以非常低的成本创建文件或者目录树的拷贝;而使用记录追加操作时,多个客户端可以并发地向同一个文件追加数据,而且还能保证每个客户端的追加操作的原子性。

  GFS中有一个叫做master的东西,它负责记录文件系统的元数据,包括命名空间、权限控制信息、文件到chunk的映射以及chunk的分布情况。此外,master还负责管理chunk的租约、回收不再使用的chunk、以及chunk的迁移等等。master会定期与chunk servers通信,向它们发送指令并收集它们的状态信息。GFS客户端通过GFS的API与GFS系统进行通信(读写数据)。客户端向master请求获取元数据,然后真正的读写数据是直接与chunk servers进行的。客户端和chunk servers都不会缓存文件数据。因为大部分应用都是基于API来流式读取大文件,并且文件数据量非常巨大,所以对于客户端来说缓存文件数据是没有意义的。chunk servers所在的机器上有Linux的缓存机制来缓存频繁访问的数据,但是它们也不会缓存文件数据。

  GFS系统的设计非常简单明了,因为master知道所有数据的元信息,所以它能执行更复杂的chunk位置分配和副本策略。但是,为了避免master成为系统的瓶颈,在读写数据的时候需要降低master的参与程度。客户端不会通过master来读写文件数据,但是客户端会向master发送查询chunk位置分布的请求,然后客户端缓存chunk的分布信息,最后直接与chunk servers进行数据的读写。大致的读取过程如下:1、客户端根据文件名、字节偏移和chunk大小计算出要读取的文件的chunk索引;2、客户端通过文件名和chunk索引向master查询chunk的分布情况;3、master回复chunk handler和副本的分布情况;4、客户端缓存chunk的元信息,在缓存中,key由文件名和chunk索引组成;5、客户端根据缓存的chunk分布信息,找到离自己最近的chunk server,并发送查询请求。查询请求包括chunk handler和字节范围。后续对于同一个chunk的查询就不需要再次向master查询元信息了,因为客户端已经缓存了这个信息。

  在GFS系统中,chunk的大小是一个关键的参数,通常设置为64MB,远远大于文件系统的块大小。每个chunk的副本都存储在chunk server所在机器上,以Linux file存储的方式。为什么将chunk的大小设置为64MB呢,主要有以下几个考虑:1、可以减少客户端访问master查询元信息的次数,从而降低master的访问压力。因为chunk的大小设置得比较大,当我们顺序访问一个超大文件时,因为chunk的数量较少且客户端已经缓存了chunk的元信息,所以我们对master的访问次数就会减少。甚至,客户端可以缓存所有文件的chunk的元信息,即使是随机读取文件,master也不会成为系统性能的瓶颈;2、可以减少网络开销,保持客户端与chunk servers之间的TCP连接,以便执行更多的chunk操作;3、可以减少master需要在内存中记录的元数据的量,从而降低master的开销。

wWw.Xtw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com