Chinaunix首页 | 论坛 | 博客
  • 博客访问: 61632
  • 博文数量: 21
  • 博客积分: 93
  • 博客等级: 民兵
  • 技术积分: 118
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-03 23:21
文章分类
文章存档

2013年(1)

2012年(15)

2011年(5)

我的朋友

分类:

2011-12-20 04:51:32

原文地址:Google GFS 学习笔记 作者:shelcod

   Google GFS是Google为了满足自己的需求所设计的分布式文件系统。 GFS 定义了三种角色: Client, Master, Chunk Server。 
   Client: 调用GFS的接口函数实现的应用程序
   Master: GFS 中的大脑。管理所有的Chunk Server节点和GFS中的元数据。 
   Chunk Server: 负责存储数据。 所有的数据都分成64MB大小分布式存储--即chunk, 每个chunk在创建时master会给分配一个64位的chunkID。chunk以普通的Linux文件存储。

  当client首先发送请求到GFS的master。 master返回相应chunk server以及chunk 信息。client 根据这些信息给chunk server 发送请求,去做读或者写的操作。

  GFS有三种元数据:Name Space, chunk与文件名的映射表, chunk副本的位置信息(每块数据有三个副本)。对于前两种元数据, GFS通过日志来replay。第三种是由master启动后,chunk server向master注册时生成。

   一次写入,必须在所有副本全部写入成功,才算为成功写入。 每个chunk以block为单位划分, 每个block 64KB, 每个block对应一个32bit的校验和。 如果读取chunk时,数据和校验和不匹配,就返回错误, 从而使client选择其他check server上的副本。

   GFS 主要作为BigTbale的文件系统来支持BigTable的应用。

阅读(988) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~