云计算之 Google系列
主要内容 ● Google云计算背景 分布式文件系统GFS ●并行数据处理模型 Map reduce ●分布式锁服务 Chubby 分布式数据库 BigTable Google appengine
主要内容 Google云计算背景 分布式文件系统GFS 并行数据处理模型MapReduce 分布式锁服务Chubby 分布式数据库BigTable Google AppEngine
Google的云计算
3
分布式文件系统GFS Application (file name, chunk index) GFS master /foo/bar GFS client File namespace chunk 2efo (chunk handle, chunk locations) Data messages Instructions to chunkserver Control messages GFS的容错措施有哪些? chunk data Linux file system Linux file systen
分布式文件系统GFS GFS的容错措施有哪些?
GFS的容错方法 ●GFS的容错机制 Chunk server容错 每个 Chunk有多个存储副本(通常是3个),分别存储于不同 的服务器上 每个 Chunk又划分为若干 Block(64KB),每个 Block对应 个32bit的校验码,保证数据正确(若某个 Block错误,则转移 至其他 Chunk副本) Master容错(影子节点热备) 三类元数据:命名空间(目录结构)、 Chunk与文件名的映 射以及 Chunk副本的位置信息 前两类通过日志提供容错, Chunk副本信息存储于 Chunk Server, Master出现故障时可恢复
GFS的容错方法 GFS的容错机制 Chunk Server容错 每个Chunk有多个存储副本(通常是3个),分别存储于不同 的服务器上 每个Chunk又划分为若干Block(64KB),每个Block对应一 个32bit的校验码,保证数据正确(若某个Block错误,则转移 至其他Chunk副本) Master容错(影子节点热备) 三类元数据:命名空间(目录结构)、Chunk与文件名的映 射以及Chunk副本的位置信息 前两类通过日志提供容错,Chunk副本信息存储于Chunk Server,Master出现故障时可恢复 5
并行数据处理模型 Map Reduce User Program () fork (1)fo E1) fork Maste (2) assign worke olit o (6)write split I worker (5) remote read file 0 split 2A3)read cal write worker split 3 worker output file I split 4 worker 处理流程 2、分片方式
并行数据处理模型MapReduce 1、处理流程 2、分片方式
灵活的 Mapreduce ●所有步骤均可控,可灵活处理各类分布式问题 Node Node 2 Node 3 Pre-loaded local input data Mapping process Mapping process Mapping process Intermediate data from mappers Values exchanged by shuffle process Node Node 2 Node 3 Reducing process generates outputs Reducing process Reducing process Reducing process Outputs stored
灵活的MapReduce 所有步骤均可控,可灵活处理各类分布式问题
Google的云计算 分布式锁服务 Chubby
分布式锁服务Chubby 8
Chubby是什么? 主要用于解决分布式一致性问题 。在一个分布式系统中,有一组的 Process,它们需要确定 个 Value。于是每个 Process都提出了一个 Value,一致 性就是指只有其中的一个 Value能够被选中作为最后确 定的值,并且当这个值被选出来以后,所有的 Process都 需要被通知到 粗粒度的分布式锁服务 Chubby是 Google为解决分布式一致性问题而设计的提 供粗粒度锁服务的文件系统 其他分布式系统可以使用它对共享资源的访问进行同步
Chubby是什么? 主要用于解决分布式一致性问题 ◦ 在一个分布式系统中,有一组的Process,它们需要确定 一个Value。于是每个Process都提出了一个Value,一致 性就是指只有其中的一个Value能够被选中作为最后确 定的值,并且当这个值被选出来以后,所有的Process都 需要被通知到 粗粒度的分布式锁服务 ◦ Chubby是Google为解决分布式一致性问题而设计的提 供粗粒度锁服务的 ◦ 其他分布式系统可以使用它对共享资源的访问进行同步 9
Chubby的设计目标 需要实现的特性 高可用性 高可靠性 ●支持粗粒度的建议性锁服务 ●支持小规模文件直接存储 ●不作考虑的特性 高性能 存储能力
Chubby的设计目标 需要实现的特性 高可用性 高可靠性 支持粗粒度的建议性锁服务 支持小规模文件直接存储 不作考虑的特性 高性能 存储能力 10