GFS中Master的容错

上一篇日志 中提到Master中维护了元数据(即,描述数据的数据)。那么元数据包括哪些呢?

Name Space,即文件系统的目录结构

Chunk 与 文件名的映射因为一个文件会被划分成多个Chunk*,因此需要一个映射来告诉系统,这个文件对应哪几个chunk

Chunk副本的位置信息一个chunk会存储三个副本*

 

① 和 ② 的容错是通过“操作日志”来完成的。也就说存在operation log里。当系统发生故障时,通过分析log就可以知道当时存了哪些文件,这些文件又被分成了哪些个chunks

③是存储在Chunk Server上的,当发生故障时,进行磁盘恢复即可

 

* 三个副本,意思是一份数据存储三份。如此一来,看似磁盘利用率不高,但对比与磁盘的廉价成本以及算法容错的复杂性,这无疑是一种简单有效且实现难度最小的方法。

** chunk。在GFS中,一个文件被划分成多个chunk,每个chunk的默认大小是64MB。而每个chunk又会被划分为多个block,每个block为64K。并且,每个Block都会对应32bit的校验码。当读取某个chunk中的某个block时,如果与校验码产生出入,则表示此block存在错误,那么将抛弃这个chunk,转而读取另一个chunk副本(每一个chunk都被存储了三次,所以这个坏了还可以读别的)。

 

转载于:https://www.cnblogs.com/elaron/archive/2012/09/27/2706108.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值