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)