GFS 和 MapReduce 的容错机制

Google 云计算

GFS

一个 Master , 多个 ChunkServers , 多个 Clients 访问

文件为什么被分成 64M?

减少 Client 和 Master 的交互Client 在一个 chuck 中可以做更多事减少 TCP 三次握手时间

缺点:区域太大,空间会有冗余。

GFS 容错机制

Chunk Server

Master

MapReduce

原理

一种 分治 算法。 (1)分割 (map) 将输入转化,得到键值对。 算法采用分布式的多个 worker (一台主机/服务器),一共有 master, map, reduce 三类,其中 map 在本地进行 倒排索引

(2)Master 指定执行 map 和 reduce 任务的主机

(3)Map 主机: 在本机进行倒排索引,将 input 中的接口,转化成 output 需要的接口,读取片段并存储到本地。

(4)Reduce 主机: 从本地进行远程读取,并进行归类处理(哈希取模),将结果写入文件。

容错

Worker – Master 周期性去 ping ,保持连接

Master – 周期性将自己的数据(Map 和 Reduce 任务的状态,Worker 机器标识)写入磁盘(checkpoint)

[an error occurred while processing the directive]