The Google File System——论文详解(转)
“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——论文详解(转)的更多相关文章
- The Google File System论文拜读
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗ 摘要 我们设计并实现了谷歌文件系统 ...
- Google File System 论文阅读笔记
核心目标:Google File System是一个面向密集应用的,可伸缩的大规模分布式文件系统.GFS运行在廉价的设备上,提供给了灾难冗余的能力,为大量客户机提供了高性能的服务. 1.一系列前提 G ...
- Google file system
读完了Google file system论文的中文版,记录一下总结,懒得打字,直接上草图:
- 《The Google File System》论文阅读笔记——GFS设计原理
一.设计预期 设计预期往往针对系统的应用场景,是系统在不同选择间做balance的重要依据,对于理解GFS在系统设计时为何做出现有的决策至关重要.所以我们应重点关注: 失效是常态 主要针对大文件 读操 ...
- 经典论文翻译导读之《Google File System》(转)
[译者预读] GFS这三个字母无需过多修饰,<Google File System>的论文也早有译版.但是这不妨碍我们加点批注.重温经典,并结合上篇Haystack的文章,将GFS.TFS ...
- 《The Google File System》论文研读
GFS 论文总结 说明:本文为论文 <The Google File System> 的个人总结,难免有理解不到位之处,欢迎交流与指正 . 论文地址:GFS Paper 阅读此论文的过程中 ...
- 【转】谷歌三大核心技术(一)The Google File System中文版
The Google File System中文版 译者:alex 摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的.可伸缩的分布式文件系统.GFS虽然运行在廉价 ...
- 谷歌三大核心技术(一)The Google File System中文版
谷歌三大核心技术(一)The Google File System中文版 The Google File System中文版 译者:alex 摘要 我们设计并实现了Google GFS文件系统,一个 ...
- Google File System中文版
英文原文地址: Google File system 译文原文地址: The Google File System中文版 Google File System中文版 摘要 我们设计并实现了Google ...
随机推荐
- [UE4]Format Text
蓝图会自动把字符串中的占位换成参数输入. 字符串不会自动转换,需要手动转换
- Java中涉及线程和并发相关的内容
1:线程池 与每次需要时都创建线程相比,线程池可以降低创建线程的开销,这也是因为线程池在线程执行结束后进行的是回收操作,而不是真正的 销毁线程. 2:ReentrantLock ReentrantLo ...
- 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 ...
- 02-zip文件打包
package com.day1; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...
- /storage/xx-xx/, /sdcard, /mnt/sdcard 三者的区别
本文针对Android 7.1 /sdcard是/mnt/sdcard的符号链,指向/storage/self/primary, /mnt/sdcard,也是符号链,指向/storage/self/p ...
- (转)C#实现注册码
原文地址:http://www.cnblogs.com/netcorner/archive/2011/08/31/2911922.html 开发软件时,当用到商业用途时,注册码与激活码就显得很重要了. ...
- Submline Text 3插件sublimeTmpl添加新模板
1.安装 一般安装Package Control 2.插件 添加模板 1).进入Preferences->Browse Packages->SublimeTmpl->template ...
- Java - 25 Java 接口
Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...
- 安装配置Glusterfs
软件下载地址:http://bits.gluster.org/pub/gluster/glusterfs/3.4.2/x86_64/ 192.168.1.11 10.1.1.241 glusterfs ...
- Hive 2.1.1安装配置
##前期工作 安装JDK 安装Hadoop 安装MySQL ##安装Hive ###下载Hive安装包 可以从 Apache 其中一个镜像站点中下载最新稳定版的 Hive, apache-hive-2 ...