Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192420
  • 博文数量: 16
  • 博客积分: 552
  • 博客等级: 中士
  • 技术积分: 236
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-28 16:41
文章分类

全部博文(16)

文章存档

2012年(1)

2011年(12)

2010年(3)

分类: LINUX

2011-12-18 17:12:35

   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的应用。

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

小蝌蚪1232011-12-20 04:54:58

google系统?