




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Google云计算原理 研究院黄兵 2 ReachedOurGoal 3 提纲 TMForum对云态度 4 4 Wehaveadream 愿景 计算机的服务能力可以作为一种商品进行流通 就像水 电 气一样取之方便 费用低廉 5 云计算定义 图 云计算概念模型 云计算 是一种商业计算模型 它将计算任务分布在大量计算机构成的资源池上 使各种应用系统能够按需获取计算力 存储空间和信息服务 6 云计算服务的部署形式 IaaS基础设施云 代表 亚马逊的S3 SaaS应用云 代表 salesforce的CRM PaaS平台云 代表 GoogleAppEngine Xasaservice 7 Amazon云计算 1GB数据存放1个月为0 15美元 每个服务器租用1小时为0 1美元 Amazon的IaaS云计算思路 弹性计算云EC2为企业提供计算服务 简单存储服务S3为企业提供存储服务 Amazon的IaaS运用实例 8 亚马逊IaaS应用案例 纽约时报 使用亚马逊云计算服务 效果 在不到24个小时的时间里处理了1100万篇文章费用 累计花费240美元 利用自己服务器 时间 数月时间费用 多得多的费用 9 Google云计算 Google的云计算思路 浏览器 操作系统 10 隶属PaaS的Google云计算 Google云计算PaaS 属于部署在云端的应用执行环境支持Python和Java两种语言通过SDK调用Google的各种服务 如GoogleMap Mail等用户可快速 廉价 可免费使用限定的流量和存储 地部署自己开发的应用 如创新的网站 游戏等 在下一章将具体介绍GAE具体的应用 11 Google云计算SaaS 隶属SaaS的Google云计算 提供在线 Word Excel PPT 提供在线MAP 提供在线日历管理 12 Google云计算平台技术架构分布式文件系统GoogleDistributed并行数据处理MapReduce分布式锁Chubby结构化数据表BigTable Google如何实现云 将在第二章详细介绍 13 云计算概念入门 Q A 14 提纲 TMForum对云态度 4 15 Google云计算原理 1 2 3 4 16 17 Google设计GFS的动机 Google需要支持海量数据存储的文件系统购置昂贵的分布式文件系统与硬件 是否可以在一堆廉价且不可靠的硬件上构建可靠的分布式文件系统 18 GFS的设计思路 GFS设计原则 机器失效不能视为异常现象能应付对大型 超大型文件处理支持大量用户同时访问GFS组成GFS集群 一个的Master和多个ChunkServer 块服务器 组成 并可以多客户端Client访问GFS设计要点每个文件拆成若干个64M文件块Chunk组成每个Chunk都由Master根据其创建时间指定ChunkHandle 64 文件块被保存在ChunkServer本地磁盘中缺省情况下3处热备份Chunk块文件 19 GFS的设计思路 Client职责包含文件系统的API负责和ChunkServer和Master通信代表应用程序进行读写操作Client和Master进行元数据操作Client和ChunkServer进行文件数据操作Master职责负责管理所有文件系统的元数据元数据包括 命名空间 访问控制信息 文件到Chunk的映射信息等ChunkServer职责负责存储chunk文件块Linux文件系统 20 GFS的系统架构 应用程序 GFS客户端 GFS数据块服务器 Linux文件系统 GFS主服务器文件命名空间 Chunk2EEE foo bar GFS数据块服务器 Linux文件系统 标注 数据信息 控制信息 文件名 chunk索引 向数据块服务器发指令 返回数据块服务器状态 Chunk句柄和位置 Chunk句柄 查找数据 返回数据信息 21 Question 文件为什么要被化分为64M Answer 1 可以减少Client和Master的之间的交互 减少Master的负载2 客户端可以在一个Chunk中完成许多操作3 可以减少TCP三次握手时间 另外这些信息都要被Master管理的缺点 有冗余 22 GFS架构的特点 采用中心服务器模式Master可以方便地增加ChunkServerMaster掌握系统内所有ChunkServer的情况 方便进行负载均衡不存在元数据的一致性问题不缓存数据必要性 Client流式读取 非重复读写可行性 Master本身管理多个Server 很复杂 23 GFS容错机制 ChunkServer容错每个Chunk有多个存储副本 默认是3个 分别存储于不通的服务器上每个Chunk又划分为若干Block 64KB 每个Block对应一个32bit的校验码 保证数据正确 若某个Block错误 则转移至其他Chunk副本 Master容错三类元数据 命名空间 目录结构 Chunk与文件名的映射以及Chunk副本的位置信息前两类通过日志提供容错 Chunk副本信息存储于其它ChunkServer 这样Master出现故障时可恢复 24 GFS实验效果图 ChunkServer1 ChunkServer2 ChunkServer16 Master Client1 Client2 Client16 路由器1 路由器2 Master 25 Google云计算原理 1 2 3 4 26 并行计算基础 摩尔定律正在走向终结 单芯片容纳晶体管的增加 对制造工艺提出要求CPU制造18nm技术 电子泄漏问题CPU主频已达3GHz时代 难以继续提高散热问题 发热太大 且难以驱散 功耗太高 未来的发展 多核 27 什么样的问题适合并行计算 斐波那契序列 Fibonacci X计算URL访问频率Y Map函数处理日志中web页面请求的记录 然后输出 URL 1 Reduce函数把相同URL的value值都累加起来 产生 URL 记录总数 结果 28 Google为什么需要MapReduce Google拥有海量数据 并且需要快速处理什么是MapReduce GoogleMapReduce架构设计师JeffreyDean JefferyDean设计一个新的抽象模型 使我们只要执行的简单计算 而将并行化 容错 数据分布 负载均衡的等杂乱细节放在一个库里 使并行编程时不必关心它们这就是MapReduce 29 Google并行运算编程模型 Map Map Map 原始数据1 原始数据2 原始数据M Reduce Reduce 结果1 结果R 1 在编程的时候 开发者需要编写两个函数 Map in key in value Reduce key value1 value2 2 Map操作产生结果是对3 在Map Reduce之间系统把同一Key归类到Reduce3 Reduce操作对相同的Key进行归类处理 30 MapReduce实现机制 用户程序 1 分割 1 分割 1 分割 Master 工作机M 工作机M 工作机M 工作机R 工作机R 2 指派Map 2 指派Reduce 片段1 片段4 片段3 片段2 输入文件 3 Read 4 本地存储 输出文件0 输出文件1 Map状态 本地存储 Reduce状态 输出文件 5 远程读取 6 写入文件 31 单词计数体现M R算法 HelloWorldByeWorldHelloChinaByeChinaHelloSi techByeSi tech 输入数据 MapReduce Hello 3Bye 3China 2World 2Si tech 2 Map Key Value for eachworld world invalue collect world 1 Reduce Key Value intcount 0 for eachwinvalue count collect Key count 1 32 HelloWorldByeWorldHelloChinaByeChinaHelloSi techByeSi tech 2 分割 分割 分割 HelloWorldByeWorld HelloChinaByeChina HelloSi techByeSi tech KEYVALUE KEYVALUE KEYVALUE 3 HelloWorldByeWorld HelloChinaByeChina HelloSi techByeSi tech MAP MAP MAP 33 4 Map输出 Fold Fold输出 34 Fold输出 5 Reduce输出 Reduce 35 MapReduce容错机制 背景MapReduce设计初衷 由普通PC组成的集群来处理超大规模的数据 所以有效的错误保障机制是必不可少Worker容错Master周期性的ping每个workerMaster容错Master周期性的将Master的数据结构的写入磁盘 即检查点 checkpoint Master数据结构包括 Map和Reduce任务的状态 空闲 工作中或完成 以及Worker机器 非空闲任务的机器 的标识 36 Google云计算原理 1 2 3 4 37 提纲 TMForum对云态度 4 38 GAE部署云应用 Q A 课堂演示部署过程 39 提纲 TMForum对云态度 4 40 TMFSeeSunnyFutureInTeleManagementWorldAmerican TMF简介 1 电信管理论坛 非盈利联盟组织2 会员遍布全球195个国家 700 会员公司3 我们公司也是会员 享受会员权利4 业界广泛使用的eTOM SID TAM NGOSS TMF最新框架技术 41 结束语 云计算的出现并快速发展 一方面是虚拟化技术 分布式计算等技术发展的结果 另一方面也是互联网应用不断丰富趋势的体现 目前 虽然有Amazon Google IBM Microsoft等在推 但云计算还没有一个统一的标准 云计算平台已经为很多用户所使用 但是云计算在行业标准 数据安全 服务质量 应用软件等方面也面临着各种问题 这些问题的解决需要技术的进一步发展 现有的研究大多集中于云体系结构 云存储 云数据管理 虚拟化 云安全 编程模型等技术 Google云计算技术 主要内容 Google的 云 在哪里 Google云计算应用场景Google云计算的技术框架Google云计算的关键技术 Google的 云 在哪里 云计算是一个新概念于07年第3季度被提出 是并行计算 分布式计算和网格计算等技术的混合演进 经过商业包装的概念为分布式存储和分布式计算找到了盈利模式提出以来发展迅速 Google Amazon Microsoft等公司都提出了自己的云计算方案为什么Google需要 云 系统规模对系统设计的重要性Google提供的服务 海量信息 海量用户 如何又好又快地提供服务 Google的 云 在哪里 Google的 云 无所不在GoogleEarth Gmail GoogleDocs GoogleWave 云计算技术是Google大部分应用的基础设施没有 云计算 就没有Google的创新服务 Google云计算应用场景 Google的云计算梦想应用向互联网迁移数据向互联网迁移计算能力向互联网迁移存储空间向互联网迁移 浏览器 操作系统 GoogleChrome Google云计算应用场景 Google云计算应用的分类总体上 云计算可以分为IaaS PaaS和SaaS三种类型 Google云计算应用场景 Google云计算应用的分类目前 Google云计算应用可以归于SaaS和PaaS两类 SaaS GoogleDocs GoogleMaps Gmail GoogleCalendar GoogleWave PaaS GoogleAppEngine Google云计算应用场景 GoogleDocs Google在线文档创建在线的Word和Excel 支持主要的文档编辑功能 Google云计算应用场景 GoogleDocs Google在线文档在线创建演示文档 PPT 并支持在线演示 Google云计算应用场景 GoogleDocs Google在线文档支持实时协作 多人同时编辑 使用丰富的在线模板 快速构建文档支持移动设备访问和编辑与其他产品集成 如Gmail等 Google云计算应用场景 GoogleMaps Google提供的电子地图服务 Google云计算应用场景 GoogleMaps Google提供的电子地图服务提供全球详尽的矢量电子地图不仅仅是地图街景地形交通流量卫星图片不仅仅是地图商业信息导航支持移动设备访问 对外提供服务 Google云计算应用场景 Gmail Google提供的电子邮件服务超大附件 海量存储空间 Google云计算应用场景 GoogleCalendar Google提供的日程安排工具 Google云计算应用场景 GoogleWave Google的信息分享 协作 发布平台一个创新和整合的平台整合了Gmail 即时通讯 文字处理 在线协作 游戏 等功能 Google云计算应用场景 AppEngine 隶属于PaaS的Google云计算属于部署在云端的应用执行环境支持Python和Java两种语言通过SDK提供Google的各种服务 如图形 MAIL和数据存储等用户可快速 廉价 可免费使用限定的流量和存储 地部署自己开发的应用 如创新的网站 游戏等 Google云计算应用场景 上述应用的特点应用 功能实现 在云端存储在云端计算在云端 Google云计算的技术架构 Google的云计算应用均依赖于四个基础组件文件存储 Google GFS并行数据处理MapReduce分布式锁Chubby结构化数据表BigTable Google云计算关键技术 GFS Google文件系统的假设与目标硬件出错是正常而非异常系统应当由大量廉价 易损的硬件组成必须保持文件系统整体的可靠性主要负载是流数据读写主要用于程序处理批量数据 而非与用户的交互或随机读写数据写主要是 追加写 插入写 非常少需要存储大尺寸的文件存储的文件尺寸可能是GB或TB量级 而且应当能支持存储成千上万的大尺寸文件 Google云计算关键技术 GFS GFS的架构如何存储大文件 节点分为Client Master和ChunkServer三类 Google云计算关键技术 GFS GFS的架构Master 管理节点 逻辑上唯一 物理上多个 保存系统元数据 负责整个文件系统的管理 是GFS的 大脑 Google云计算关键技术 GFS GFS的架构ChunkServer 负责具体的存储工作GFS可以包含多个ChunkServer 其数目决定了GFS的存储规模GFS将文件分块存储 块大小默认为64M 每隔块均具有唯一索引号 index Google云计算关键技术 GFS GFS的架构GFS的访问流程 Google云计算关键技术 GFS GFS的架构访问流程实现了控制流和信息流的分离Client与Master仅有控制流 使Master不成为瓶颈Client与ChunkServer直接存储数据 实现高速的数据并发读取 Google云计算关键技术 GFS GFS的架构的特点采用中心服务器模式可以方便地增加ChunkServerMaster掌握系统内所有ChunkServer的情况 方便进行负载均衡不存在元数据的一致性问题不缓冲数据GFS的文件操作大部分是流式读写 不存在大量的重复读写 使用Cache对性能提高不大ChunkServer上的数据存取使用本地文件系统 如果某个Chunk读取频繁 文件系统具有Cache从可行性看 Cache与实际数据的一致性维护也极其复杂 Google云计算关键技术 GFS GFS的架构的特点在用户态下实现直接利用ChunkServer的文件系统存取Chunk 实现简单用户态应用调试较为简单 利于开发用户态的GFS不会影响ChunkServer的稳定性只提供专用的访问接口降低GFS的实现复杂度 Google云计算关键技术 GFS GFS的容错机制ChunkServer容错每个Chunk有多个存储副本 通常是3个 分别存储于不通的服务器上每个Chunk又划分为若干Block 64KB 每个Block对应一个32bit的校验码 保证数据正确 若某个Block错误 则转移至其他Chunk副本 Master容错三类元数据 命名空间 目录结构 Chunk与文件名的映射以及Chunk副本的位置信息前两类通过日志提供容错 Chunk副本信息存储于ChunkServer Master出现故障时可恢复 Google云计算关键技术 GFS 基于GFS的Google数据中心节点廉价 易损坏 但整体可靠 稳定 Google云计算关键技术 MapReduce MapReduceGoogle提出的一个软件架构 是一种处理海量数据的并行编程模式用于大规模数据集 通常大于1TB 的并行运算MapReduce实现了Map和Reduce两个功能Map把一个函数应用于集合中的所有成员 然后返回一个基于这个处理的结果集Reduce对结果集进行分类和归纳Map 和Reduce 两个函数可能会并行运行 即使不是在同一的系统的同一时刻 Google云计算关键技术 MapReduce 业务处理流程 Google云计算关键技术 MapReduce 案例 单词记数问题 WordCount 给定一个巨大的文本 如1TB 如何计算单词出现的数目 Google云计算关键技术 MapReduce 使用MapReduce求解该问题定义Map和Reduce函数 Google云计算关键技术 MapReduce 使用MapReduce求解该问题Step1 自动对文本进行分割 Google云计算关键技术 MapReduce 使用MapReduce求解该问题Step2 在分割之后的每一对进行用户定义的Map进行处理 再生成新的对 Google云计算关键技术 MapReduce 使用MapReduce求解该问题Step3 对输出的结果集归拢 排序 系统自动完成 Google云计算关键技术 MapReduce 使用MapReduce求解该问题Step4 通过Reduce操作生成最后结果 Google云计算关键技术 MapReduce 实践证明 MapReduce是出色的分布式计算模型Google宣布 其对分布于1000台计算机上的1TB数据进行排序仅仅需要68s对4000台计算机上的1PB数据进行排序处理仅需要6小时2分钟 每次测试至少会损坏1块硬盘 在08年1月份 GoogleMapReduce平均每天的数据处理量是20PB 相当于美国国会图书馆当年5月份存档网络数据的240倍 Google云计算关键技术 Chubby 分布式一致性问题在一个分布式系统中 有一组的Process 它们需要确定一个Value 于是每个Process都提出了一个Value 一致性就是指只有其中的一个Value能够被选中作为最后确定的值 并且当这个值被选出来以后 所有的Process都需要被通知到 Google云计算关键技术 Chubby Google云计算中的分布式一致性问题例如 GFS在物理上往往包含多个Master 但需要在逻辑上确定唯一的Master 如何确定 这是一个分布式一致性问题Chubby是Google为解决分布式一致性问题而设计的提供粗粒度锁服务的文件系统 Google云计算关键技术 Chubby Chubby是一个文件系统 如何提供 锁 服务 Chubby中的锁就是文件在GFS的例子中 创建文件就是进行 加锁 操作 创建文件成功的那个server其实就是抢占到了 锁 用户通过打开 关闭和读取文件 获取共享锁或者独占锁 并且通过通信机制 向用户发送更新信息因此 通过Chubby可以解决Google云计算中的分布式一致性问题 Google云计算关键技术 BigTable 为什么需要设计BigTable Google需要存储的数据种类繁多网页 地图数据 邮件 如何使用统一的方式存储各类数据 海量的服务请求如何快速地从海量信息中寻找需要的数据 BigTable 基于GFS和Chubby的分布式存储系统对数据进行结构化存储和管理与GFS的区别 Google云计算关键技术 BigTable BigTable的设计目标具有广泛的适应性支持Google系列产品的存储需求具有很强的可扩展性根据需要随时加入或撤销服务器高可用性尽管单个节点易损 但要确保几乎所有的情况下系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年清洁能源行业全球市场分析与前景预测研究报告
- 固本延龄丸课件
- 2025年电子产品行业可穿戴设备市场前景报告
- 巴彦淖尔市2025内蒙古巴彦淖尔市统计局所属事业单位高层次急需紧缺人才引进测评笔试历年参考题库附带答案详解
- 2025年工业互联网技术在制造业中的发展前景研究报告
- 宜宾市2025上半年四川宜宾市屏山县事业单位考核招聘28人笔试历年参考题库附带答案详解
- 临夏市2025甘肃省临夏市教育系统引进人才28人笔试历年参考题库附带答案详解
- 2025福建移动春季校园招聘若干人笔试参考题库附带答案详解
- 2025江苏南通中国移动全资子公司中移铁通南通公司如东分公司招聘笔试参考题库附带答案详解
- 2025年燕舞集团有限公司公开招聘9人笔试参考题库附带答案详解
- 咖啡基础培训课件
- 人才服务合同书
- 2025年工会财务大赛理论题库(附答案)
- 2025-2026学年统编版八年级上册道德与法治教学计划含教学进度表
- 矿井顶板事故防治课件
- 2025年中国电力投资集团校园招聘笔试题型分析及备考策略
- 抗生素课件教学课件
- 销售法律知识培训
- 中国慢性胃炎诊治指南(2022年)解读
- 糖尿病低血糖症诊疗指南
- 直升机发动机油封课件
评论
0/150
提交评论