Google云计算关键技术MapReduce BigTable GFS Chubby 微软的 ...
展开查看详情
1.内容提纲 云计算概念与现状 Google 文件系统 Google MapReduce Google Bigtable 大云数据挖掘系统
2.云计算概念与现状
3.云计算的起源
4.云计算发展的驱动因素
5.云计算的定义 云计算是一种商业计算模型。它将 计算任务分布在大量计算机构成的资 源池上,使各种应用系统能够根据需 要获取计算力、存储空间和信息服 务。
6.云计算技术体系结构
7.
8.Google 云计算关键技术 MapReduce BigTable Chubby GFS ◦Google 文件系统 GFS(Google File System) ◦并行数据处理 MapReduce ◦结构化数据表 BigTable ◦分布式锁管理 Chubby
9.
10.
11.微软的节能措施
12.Google 云计算原理 分布式文件系统 GFS Google File System 12
13.Google 设计 GFS 的动机 Google 需要一个支持海量存储的文件系统 ◦购置昂贵的分布式文件系统与硬件? 是否可以在一堆廉价且不可靠的硬件上构建 可靠的分布式文件系统? 13
14.Google 设计 GFS 的动机 为什么不使用当时现存的文件系统? ◦Google 所面临的问题与众不同 不同的工作负载,不同的设计优先级(廉价、不可靠的硬 件) ◦需要设计与 Google 应用和负载相符的文件系统 14
15.GFS 的假设与目标 硬件出错是正常而非异常 ◦系统应当由大量廉价、易损的硬件组成 ◦必须保持文件系统整体的可靠性 主要负载是流数据读写 ◦主要用于程序处理批量数据,而非与用户的交互或随机读 写 ◦数据写主要是“追加写”,“插入写”非常少 需要存储大尺寸的文件 ◦存储的文件尺寸可能是 GB 或 TB 量级,而且应当能支持存 储成千上万的大尺寸文件 15
16.GFS 的设计思路 将文件划分为若干块( Chunk )存储 ◦每个块固定大小( 64M ) 通过冗余来提高可靠性 ◦每个数据块至少在 3 个数据块服务器上冗余 ◦数据块损坏概率? 通过单个 master 来协调数据访问、元数据存储 ◦结构简单,容易保持元数据一致性 无缓存 ◦Why? 16
17.GFS 的架构 单一 Master, 若干 ChunkServer GFS 的架构有什么问题吗? 17
18.18
19.单一 Master 问题 分布式系统设计告诉我们: ◦这是单点故障 ◦这是性能瓶颈 GFS 的解决办法 ◦单点故障问题 采用多个(如 3 个)影子 Master 节点进行热备, 一旦主节点损坏,立刻选举一个新的主节点服务 19
20.单一 Master 问题 GFS 的解决办法 ◦性能瓶颈问题 尽可能减少数据存取中 Master 的参与程度 不使用 Master 读取数据,仅用于保存元数据 Simple, and good enough! 客户端缓存元数据 采用大尺寸的数据块( 64M ) 数据修改顺序交由 Primary Chunk Server 完成 20
21.Master 节点的任务 存储元数据 文件系统目录管理与加锁 与 ChunkServer 进行周期性通信 ◦发送指令,搜集状态,跟踪数据块的完好性 数据块创建、复制及负载均衡 ◦对 ChunkServer 的空间使用和访问速度进行负载均衡,平 滑数据存储和访问请求的负载 ◦对数据块进行复制、分散到 ChunkServer 上 ◦一旦数据块冗余数小于最低数,就发起复制操作 21
22.Master 节点的任务 垃圾回收 ◦在日志中记录删除操作,并将文件改名隐藏 ◦缓慢地回收隐藏文件 ◦与传统文件删除相比更简单、更安全 陈旧数据块删除 ◦探测陈旧的数据块,并删除 22
23.GFS 架构的特点 采用中心服务器模式 ◦可以方便地增加 Chunk Server ◦Master 掌握系统内所有 Chunk Server 的情况,方便进行 负载均衡 ◦不存在元数据的一致性问题 23
24.GFS 架构的特点 不缓存数据 ◦GFS 的文件操作大部分是流式读写,不存在大量的重复读 ? 写,使用 Cache 对性能提高不大 ◦Chunk Server 上的数据存取使用本地文件系统,如果某个 Chunk 读取频繁,文件系统具有 Cache ◦从可行性看, Cache 与实际数据的一致性维护也极其复杂 24
25.GFS 架构的特点 在用户态下实现 ◦直接利用 Chunk Server 的文件系统存取 Chunk ,实现简 单 ◦用户态应用调试较为简单,利于开发 ◦用户态的 GFS 不会影响 Chunk Server 的稳定性 提供专用的访问接口 ◦未提供标准的 POSIX 访问接口 ◦降低 GFS 的实现复杂度 25
26.GFS 的容错方法 GFS 的容错机制 ◦Chunk Server 容错 每个 Chunk 有多个存储副本(通常是 3 个),分别存储于不 通的服务器上 每个 Chunk 又划分为若干 Block ( 64KB ),每个 Block 对应 一个 32bit 的校验码,保证数据正确(若某个 Block 错误,则 转移至其他 Chunk 副本) 26
27.GFS 的性能 27
28.Google 云计算原理 并行数据处理模型 MapReduce
29.并行计算基础 摩尔定律 ◦集成电路芯片上所集成的电路的数目, 每隔 18 个月就翻一番,同时性能也提升 一倍 Gordon Moore