首发于BitTiger.io
硅谷之路9:深入浅出理解GFS

硅谷之路9:深入浅出理解GFS

1. GFS是什么

GFS,顾名思义就是谷歌文件系统,和Big Table,Map Reduce并称谷歌三驾马车。 大部分谷歌服务的基石(Search, Cloud Drive, Gmail etc.)。

2. GFS 为什么这么火

  • 提供了容错机制,使得分布式文件系统可以在廉价机器上运行
  • 自动负载均衡
  • 把当时的一个技术难题解决方案免费公布出来

3. GFS 怎么实现的


要了解GFS我们先来看看普通的Linux文件系统怎么工作的。

如果我们要存一个大文件怎么办呢


GFS也是同样的原理,只是把MetaData放Master Server,然后Chunk都放到ChunkServer里面

值得一提的是这里Master只保存了Chunk在各个服务器的地址,这样做的优点是

4.GFS容错机制


之前我们说了GFS的容错机制很棒,具体是怎么实现的呢。简单的说就是读数据时检查checksum



如果数据损坏的话呢,Chunk Server就找Master恢复数据


同时发送心跳检查Chunk Server是否运行正常。如果有服务器挂掉的话就向Master申请恢复

5. 核心读写操作

好了,我们构建这么一个庞大的系统最后不就是要读和写嘛,现在我们看看GFS是如何读写的。读数据时Client先向Master要到Chunk信息,然后去ChunkServer取数据

写文件的时候呢,也是先找到Master Server要到信息,然后找到距离最近的Chunk Server。由其带领其他ChunkServer一起写数据。如果图中有任何一步出现错误则中止写入,返回错误。


查看完整视频bittiger.io/classpage/Q

整理作者:Xinxin Huang, 更多精彩内容, 请扫描下面二维码,关注微信公众账号“论码农的自我修养”

编辑于 2016-04-14 11:34