开发者社区> 问答> 正文

《云计算》学习笔记2——Google的云计算原理与应用(GFS和MapReduce)


Google 云计算平台技术架构
¢文件存储,Google Distributed File System,GFS
¢并行数据处理MapReduce
¢分布式锁Chubby
¢分布式结构化数据表BigTable
¢分布式存储系统Megastore
¢分布式监控系统Dapper

一、Google文件系统GFS
分三大块来讲的, 系统架构、容错机制、系统管理技术

1、 系统架构


Client 客户端):应用程序的访问接口
Master(主服务器):管理节点,在逻辑上只有一个,保存系统的元数据,负责整个文件系统的管理 ChunkServer(数据块服务器):负责具体的存储工作。数据以文件的形式存储在ChunkServer上
关于上面的架构图之前看到过一篇博客,上面对其机架感知(Rack Awareness)机制有一个简单的表示,很可惜博客竟未找到,大致是:
对于Rack Awareness——Rack1:Chunk1 、Chunk4、Chunk7……Rack n:Chunk2、Chunk 5、Chunk6……
而对于ns:file——Chunk1、Chunk2……
这样,两者一结合,查找文件块、甚至对相对的查找的优化等比较方便
GFS特点:
[table=920,#ffffff,,0][tr][td]

采用中心服务器模式
[/td][/tr][tr][td]
u可以方便地增加Chunk Server
u Master掌握系统内所有Chunk Server的情况,方便进行负载均衡
u不存在元数据的一致性问题
[/td][/tr][tr][td]
不缓存数据
[/td][/tr][tr][td]
˜文件操作大部分是流式读写,不存在大量重复读写,使用Cache对性能提高不大
˜ Chunk Server上数据存取使用本地文件系统,若读取频繁,系统具有Cache
˜从可行性看,Cache与实际数据的一致性维护也极其复杂
[/td][/tr][tr][td]
在用户态下实现
[/td][/tr][tr][td]
     ¨利用POSIX编程接口存取数据降低了实现难度,提高通用性
     ¨POSIX接口提供功能更丰富
     ¨用户态下有多种调试工具
     ¨Master和Chunk Server都以进程方式运行,单个进程不影响整个操作系统
     ¨GFS和操作系统运行在不同的空间,两者耦合性降低
[/td][/tr][tr][td]
只提供专用接口
[/td][/tr][tr][td]
     ¢降低实现的难度
     ¢对应用提供一些特殊支持
     ¢降低复杂度
[/td][/tr][/table]

2、容错机制
Master容错
Name Space,文件系统目录结构
Chunk与文件名的映射
Chunk副本的位置信息(默认有三个副本)

单个Master,对于前两种元数据,GFS通过操作日志来提供容错功能 第三种元数据信息保存在各个 ChunkServer 上, Master 故障时, 磁盘恢复

GFS还提供了Master远程的 实时备份,防止Master彻底死机的情况
Chunk Server容错

[font='Wingdings 3']u 采用副本方式实现 Chunk Server 容错

¨ 每一个 Chunk 有多个存储副本(默认为三个),分布存储在不同的 Chunk Server 上用户态的 GFS 不会影响 Chunk Ser
ver 的稳定性
¨ 副本的分布策略需要考虑多种因素,如网络的拓扑、机架的分布、磁盘的利用率等
¨ 对于每一个 Chunk ,必须将所有的副本全部写入成功,才视为成功写入


尽管一份数据需要存储三份,好像磁盘空间的利用率不高,但综合比较多种因素,加之磁盘的成本不断下降,采用副本
无疑是最简单、最可靠、最有效,而且实现的难度也最小的一种方法




¨ GFS中的每一个文件被划分成多个Chunk,Chunk的默认大小是64MB


¨Chunk Server存储的是Chunk的副本,副本以文件的形式进行存储


¨ 每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,


则转移至其他Chunk副本)




系统管理技术












展开
收起
佳剑 2016-03-18 21:30:09 8630 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
云计算中的数据安全 立即下载
汇聚云计算的生态核能——云市场,云上APP Store 立即下载
天气风险管理的过去、现在与未来——基于大数据和云计算的天气风险管理 立即下载