“Google文件存储系统(GFS)是构建在廉价服务器之上的大型分布式系统。它将服务器故障视为正常现象,通过软件方式自动容错,在保证系统可用性和可靠性同时,大大降低系统成本。

GFS是Google整个分布式系统的基石,其他存储系统如Google BigTable、GoogleMegastore等系统均直接或间接构建在GFS之上。另外,Google的大规模批处理系统MapReduce也是利用GFS系统作为海量数据的输入输出。”

以下内容为在研读Google_File_System论文时,对其中一些关键技术的理解。要想更加深入的理解GFS,还需进一步研究GFS源码以及论文等。

一、单一Master节点:

如何避免单一的Msaster节点成为系统性能瓶颈:

1、客户端只向Master请求元数据信息,并不通过Master节点进行chunk数据读写,具体的数据读写操作由ChunkServer直接负责。

2、客户端在向Master请求某chunk元数据时,Master会一次返回包括该chunk紧接之后的几个chunk信息,有效减少客户端的请求次数。

客户端读取数据流程如下:

二、Chunk尺寸:

选择64MB作为chunk的大小,该尺寸远大于一般系统的Block size。这是由具体的业务特性决定的:即通常操作的是大文件。

三、Master元数据:

Master以心跳信息来监控chunkserver的状态。 其中,chunk的副本位置信息,采取启动master时轮询(心跳信息)chunkserver,然后定期轮询来获取chunk的副本位置信息,而不是直接在master中持久化该信息。 这样简化了Master与chunkserver之间的的数据同步问题。

操作日志:

强同步:    即只有当操作日志被写入到本地磁盘以及远程机器(备master)磁盘后,才会响应客户端的操作请求。同时master会收集多个日志后,批量写入磁盘。

checkpoint:  在灾难恢复时通过回放操作日志来将系统恢复到最近状态。为了减低回放时间,使用checkpoint方式来使得回放的日志尽量短,即在恢复时只需要回放checkpoint之后的日志文件即可。之前的旧日志文件及checkpoint文件可定期删除。"操作日志相当于一盘录像带,而checkpoint可以在该录像带上间隔性的插上一些标记点(将内存缓冲的数据写入磁盘,完成后,相应的在操作日志带上插入最新的一个标记点)。最新一个标记点之前的所有日志记录的操作都已经持久化保存了,而该点之后的操作保存在内存中。当内存中数据丢失时,只需回放该点之后的部分日志即可恢复。而checkpoint文件就是记录了这些点的位置等信息。"

四、系统交互:

Master以带超时的租约来授权主chunkserver来执行具体的操作任务,从而减小Master的管理负担。Master与chunkserver之间通过定期的心跳信息来交互信息:master获取chunkserver'的状态信息,chunkserver申请延长租约时间等。

以下为客户端写数据的操作流程:

五、负载均衡:

The Google File System——论文详解(转)的更多相关文章

  1. The Google File System论文拜读

    The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗ 摘要 我们设计并实现了谷歌文件系统 ...

  2. Google File System 论文阅读笔记

    核心目标:Google File System是一个面向密集应用的,可伸缩的大规模分布式文件系统.GFS运行在廉价的设备上,提供给了灾难冗余的能力,为大量客户机提供了高性能的服务. 1.一系列前提 G ...

  3. Google file system

    读完了Google file system论文的中文版,记录一下总结,懒得打字,直接上草图:

  4. 《The Google File System》论文阅读笔记——GFS设计原理

    一.设计预期 设计预期往往针对系统的应用场景,是系统在不同选择间做balance的重要依据,对于理解GFS在系统设计时为何做出现有的决策至关重要.所以我们应重点关注: 失效是常态 主要针对大文件 读操 ...

  5. 经典论文翻译导读之《Google File System》(转)

    [译者预读] GFS这三个字母无需过多修饰,<Google File System>的论文也早有译版.但是这不妨碍我们加点批注.重温经典,并结合上篇Haystack的文章,将GFS.TFS ...

  6. 《The Google File System》论文研读

    GFS 论文总结 说明:本文为论文 <The Google File System> 的个人总结,难免有理解不到位之处,欢迎交流与指正 . 论文地址:GFS Paper 阅读此论文的过程中 ...

  7. 【转】谷歌三大核心技术(一)The Google File System中文版

      The Google File System中文版 译者:alex 摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的.可伸缩的分布式文件系统.GFS虽然运行在廉价 ...

  8. 谷歌三大核心技术(一)The Google File System中文版

    谷歌三大核心技术(一)The Google File System中文版  The Google File System中文版 译者:alex 摘要 我们设计并实现了Google GFS文件系统,一个 ...

  9. Google File System中文版

    英文原文地址: Google File system 译文原文地址: The Google File System中文版 Google File System中文版 摘要 我们设计并实现了Google ...

随机推荐

  1. Oracle之ora-01031 insufficient privileges

              解决ora-01031insufficient privileges错误 解决system用户不能登录的问题 alter user system account unlock id ...

  2. ospf精确宣告地址

    ospf的一点小问题 http://bbs.51cto.com/thread-881459-1.html 参照博客地址 network 172.20.1.0 0.0.0.3 area 0 networ ...

  3. vultr上 windows使用pptp拨号来实现冗余双网关的解决方案

    rasdial是拨号程序,pptpvpn是网卡拨号名称,后面跟的是帐号和密码.pptpvpn见下图:就是提前创建好一个PPTP的拨号连接 上面是启动时候的计划任务,那么万一拨号中断,要继续重拨还需要做 ...

  4. [UE4]图片按钮设置技巧

  5. 小朋友学C语言(5):常量和变量,for循环

    动手编写程序: #include <stdio.h> int main() { int a = 1; printf("a = %d\n", a); a = 2; pri ...

  6. 设置IIS7/IIS7.5的FTP支持断点续传

    Windows Server 2003的IIS自带FTP默认支持断点续传,但是Windows Server 2008/R2默认已经不支持,因此需要注意设置,才能让其支持断点续传,更好的利用宝贵的服务器 ...

  7. python学习之----lxml库和HTML parser

    lxml 这个库(http://lxml.de/)可以用来解析HTML 和XML 文档,以非常底层的实现而闻名 于世,大部分源代码是用C 语言写的.虽然学习它需要花一些时间(其实学习曲线越 陡峭,表明 ...

  8. mysql中表里的数据重新设置自增的id的方法

    如果删除表数据用这个 TRUNCATE TABLE tablename 如果不删除表 alter table table_name AUTO_INCREMENT=;

  9. 3.div+css 的布局较 table 布局有什么优点

    改版的时候更方便,只需改css文件. 页面加载速度更快.结构化清晰.页面显示简介. 表现与结构相分离. 已于优化搜索引擎更友好,排名更容易靠前.

  10. 32. 安装oracle11g时,先决条件一直失败的解决方法

    解决方法:1. 在命令提示符下 net share c$=c: 补充: 如果这个命令提示错误:“发生系统错误 5,拒绝访问的时候”,那我们可以修改注册表,检查AutoShareServer和AutoS ...