GFS分布式技术架构进阶.docx
《GFS分布式技术架构进阶.docx》由会员分享,可在线阅读,更多相关《GFS分布式技术架构进阶.docx(8页珍藏版)》请在第一文库网上搜索。
1、分布式存储技术解读系列之四:GFS分布式技术架构进阶1 .什么是GFS?首先,我们从GFS的定义:Goog1eFi1eSystem(GFS)isasca1ab1edistributedfi1esystem(DFS)createdbyGoog1eInc.anddeve1opedtoaccommodateGoog1e,sexpandingdataprocessingrequirements.GFSprovidesfau1tto1erance,re1iabi1ity,sca1abi1ity,avai1abi1ityandperformanceto1argenetworksandconnectedno
2、des.o当中我们可以非常明确看到GFS区别于CePh和Swift的核心在于它是一个文件系统,但是这个文件系统又是区别于我们1inux操作系统上普通的EXT文件系统,它具有分布式架构,因此它被赋予了以下特性:(1)扩展性(Sca1abi1ity):它具备较强的架构扩展性,可以使得数据规模很容易扩展到PB级别;(2)高可用(avai1abi1ity):它具备较强的集群高可用性,能解决节点故障对集群的可用性影响;(3)容错性(Fau1tTo1erance):它具备很强的数据容错性,能解决数据错误的问题;除此之外,我们还要知道它的来源,它是谷歌的杰出作品,是谷歌三驾马车(GFS、BigTab1e.M
3、apreduce)三个当中的一个,而且对应着谷歌著名的三篇论文当中的一篇,支持所有谷歌服务的基石。接下来,我们从各个维度来分析究竟是什么样的架构和原理使它具备了这样的分布式特性。2 .GFS架构原理2.1 GFS物理架构从物理节点角度看GFS的架构,它主要分为三个部分:C1ient.MasterServersChunkServero应用的数据读写请求从CIient端发起,先经过MasterSerVer查询元数据信息,得到元数据信息之后再到ChUnkSerVer寻找数据本身或者写入数据本身。如图2.1:C1ient:是GFS提供给应用程序的访问接口,它是一组专用接口,以库文件的形式提供。应用程序
4、直接调用这些库函数来获取数据的访问。它的输入仅仅需要文件名称及其在GFS系统当中的全路径。Master:是GFS的集群管理节点,可以是主备模式,当然也可以是AA模式的集群。但是它的数据空间只有一个。它主要负责保存GFS的元数据及集群的协调管理。Chunk:它是存储数据的节点,它可以扩展为很多。它主要负责响应客户端的实际数据读写,数据以文件的形式存储在ChUnkServer,文件组织的粒度为Chunk(默认为64M)。既然是文件系统的存储管理方式,那必然是Chunk_ID+Chunk_Address的组织管理模式。2.2 GFSMaster既然Master是GFS的核心管理节点,那么搞清楚Mas
5、ter里面的运作机制就是搞清楚GFS的必要条件,首先我们来看MaSterSerVer存储的元数据是什么样的?我们在文章前面内容当中曾经说过,GFS排除它的分布式而言,它就是一个文件系统。既然是文件系统就会遵循文件存取的基本规则:客户端按照全路径文件名称存放或者读取文件。如图2.2.1:图2.2.1Master命名空间图对于MaSterSerVer上保存的Metadata来讲,主要包含两个维度的数据,一个是文件的命名空间,它是一个树状的数据结构,也就是文件目录树。另外一方面,对于这个目录树的每一个叶子节点,也就是对应的每一个文件的元数据,它是一组Key-Va1ue(ChUnk标识,ChUnk_S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GFS 分布式 技术 架构 进阶