“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. [UE4]Format Text

    蓝图会自动把字符串中的占位换成参数输入. 字符串不会自动转换,需要手动转换

  2. Java中涉及线程和并发相关的内容

    1:线程池 与每次需要时都创建线程相比,线程池可以降低创建线程的开销,这也是因为线程池在线程执行结束后进行的是回收操作,而不是真正的 销毁线程. 2:ReentrantLock ReentrantLo ...

  3. Sharing Configuration in ASP.NET Core SPA Scenarios

    https://blogs.msdn.microsoft.com/webdev/2017/10/27/sharing-configuration-in-asp-net-core-spa-scenari ...

  4. 02-zip文件打包

    package com.day1; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...

  5. /storage/xx-xx/, /sdcard, /mnt/sdcard 三者的区别

    本文针对Android 7.1 /sdcard是/mnt/sdcard的符号链,指向/storage/self/primary, /mnt/sdcard,也是符号链,指向/storage/self/p ...

  6. (转)C#实现注册码

    原文地址:http://www.cnblogs.com/netcorner/archive/2011/08/31/2911922.html 开发软件时,当用到商业用途时,注册码与激活码就显得很重要了. ...

  7. Submline Text 3插件sublimeTmpl添加新模板

    1.安装 一般安装Package Control 2.插件 添加模板 1).进入Preferences->Browse Packages->SublimeTmpl->template ...

  8. Java - 25 Java 接口

    Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...

  9. 安装配置Glusterfs

    软件下载地址:http://bits.gluster.org/pub/gluster/glusterfs/3.4.2/x86_64/ 192.168.1.11 10.1.1.241 glusterfs ...

  10. Hive 2.1.1安装配置

    ##前期工作 安装JDK 安装Hadoop 安装MySQL ##安装Hive ###下载Hive安装包 可以从 Apache 其中一个镜像站点中下载最新稳定版的 Hive, apache-hive-2 ...