版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Google云计算原理2ReachedOurGoal
认识云计算(理解)
理解Google云计算实现原理(难点)
可独立在GAE上开发云服务应用
了解TMF?以及云未来的发展(了解)3初识云计算1Google云计算原理2GAE平台部署云服务3提纲TMForum对云态度44Wehaveadream……愿景:
计算机的服务能力可以作为一种商品进行流通。就像水、电、气一样取之方便,费用低廉5云计算定义
图:云计算概念模型云计算:是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够按需获取计算力、存储空间和信息服务。6云计算服务的部署形式IaaS基础设施云(代表:亚马逊的S3)SaaS应用云(代表:salesforce的CRM)PaaS平台云(代表:GoogleAppEngine)私有云(数据中心–内部网)公共云(服务提供商–互连网)混合云(公共和私有)Xasaservice7Amazon云计算1GB数据存放1个月为0.15美元每个服务器租用1小时为0.1美元Amazon的IaaS云计算思路弹性计算云EC2为企业提供计算服务简单存储服务S3为企业提供存储服务Amazon的IaaS运用实例亚马逊IaaS应用案例:纽约时报使用亚马逊云计算服务效果:在不到24个小时的时间里处理了1100万篇文章费用:累计花费240美元利用自己服务器时间:数月时间费用:多得多的费用89Google云计算Google的云计算思路应用向互联网迁移数据向互联网迁移计算能力向互联网迁移存储空间向互联网迁移“浏览器=操作系统”10隶属PaaS的Google云计算Google云计算PaaS属于部署在云端的应用执行环境支持Python和Java两种语言通过SDK调用Google的各种服务。如GoogleMap、Mail等用户可快速、廉价(可免费使用限定的流量和存储)地部署自己开发的应用(如创新的网站、游戏等)在下一章将具体介绍GAE具体的应用11Google云计算SaaS隶属SaaS的Google云计算提供在线“Word、Excel、PPT”提供在线MAP提供在线日历管理……Google云计算平台技术架构分布式文件系统GoogleDistributedFileSystem并行数据处理MapReduce分布式锁Chubby结构化数据表BigTableGoogle如何实现云?Google云计算应用MapReduceBigTableGFSChubby12将在第二章详细介绍13云计算概念入门Q&A14初识云计算1Google云计算原理2GAE平台部署云服务3提纲TMForum对云态度4Google云计算原理分布式文件系统GFS并行数据处理模型MapReduce分布式锁服务Chubby分布式数据库BigTable1234Google云计算应用MapReduceBigTableGFSChubby151617Google设计GFS的动机Google需要支持海量数据存储的文件系统购置昂贵的分布式文件系统与硬件?是否可以在一堆廉价且不可靠的硬件上构建可靠的分布式文件系统?GFS的设计思路GFS设计原则:机器失效不能视为异常现象能应付对大型/超大型文件处理支持大量用户同时访问GFS组成GFS集群:一个的Master和多个ChunkServer(块服务器)组成,并可以多客户端Client访问GFS设计要点每个文件拆成若干个64M文件块Chunk组成每个Chunk都由Master根据其创建时间指定ChunkHandle(64)文件块被保存在ChunkServer本地磁盘中缺省情况下3处热备份Chunk块文件18GFS的设计思路Client职责包含文件系统的API负责和ChunkServer和Master通信代表应用程序进行读写操作Client和Master进行元数据操作Client和ChunkServer进行文件数据操作Master职责负责管理所有文件系统的元数据元数据包括:命名空间,访问控制信息,文件到Chunk的映射信息等ChunkServer职责负责存储chunk文件块Linux文件系统1920GFS的系统架构应用程序GFS客户端GFS数据块服务器Linux文件系统GFS主服务器文件命名空间Chunk2EEE/foo/barGFS数据块服务器Linux文件系统………………标注:数据信息控制信息文件名,chunk索引向数据块服务器发指令返回数据块服务器状态Chunk句柄和位置Chunk句柄,查找数据返回数据信息21Question文件为什么要被化分为64M?Answer:1、可以减少Client和Master的之间的交互,减少Master的负载2、客户端可以在一个Chunk中完成许多操作3、可以减少TCP三次握手时间。另外这些信息都要被Master管理的缺点:有冗余GFS架构的特点采用中心服务器模式Master可以方便地增加ChunkServerMaster掌握系统内所有ChunkServer的情况,方便进行负载均衡不存在元数据的一致性问题不缓存数据必要性:Client流式读取,非重复读写可行性:Master本身管理多个Server,很复杂22GFS容错机制ChunkServer容错每个Chunk有多个存储副本(默认是3个),分别存储于不通的服务器上每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,则转移至其他Chunk副本)Master容错三类元数据:命名空间(目录结构)、Chunk与文件名的映射以及Chunk副本的位置信息前两类通过日志提供容错,Chunk副本信息存储于其它ChunkServer。这样Master出现故障时可恢复2324GFS实验效果图ChunkServer1ChunkServer2ChunkServer16……MasterClient1Client2Client16路由器1路由器2MasterGoogle云计算原理分布式文件系统GFS并行数据处理模型MapReduce分布式锁服务Chubby分布式数据库BigTable1234Google云计算应用MapReduceBigTableGFSChubby25并行计算基础摩尔定律正在走向终结…单芯片容纳晶体管的增加,对制造工艺提出要求CPU制造18nm技术,电子泄漏问题CPU主频已达3GHz时代,难以继续提高散热问题(发热太大,且难以驱散)功耗太高26未来的发展:多核27什么样的问题适合并行计算?斐波那契序列(Fibonacci)X计算URL访问频率YMap函数处理日志中web页面请求的记录,然后输出(URL,1)。Reduce函数把相同URL的value值都累加起来,产生(URL,记录总数)结果。Google为什么需要MapReduce?Google拥有海量数据,并且需要快速处理什么是MapReduce?28Google全球Web数据邮件数据地图数据卫星照片……GoogleMapReduce架构设计师JeffreyDeanJefferyDean设计一个新的抽象模型,使我们只要执行的简单计算,而将并行化、容错、数据分布、负载均衡的等杂乱细节放在一个库里,使并行编程时不必关心它们这就是MapReduce29Google并行运算编程模型MapMapMap……原始数据1原始数据2原始数据MReduceReduce结果1结果R……1、在编程的时候,开发者需要编写两个函数:Map:(in_key,in_value)Reduce:(key,[value1,value2…])2、Map操作产生结果是<key,value>对3、在Map,Reduce之间系统把同一Key归类到Reduce3、Reduce操作对相同的Key进行归类处理30MapReduce实现机制用户程序(1)分割(1)分割(1)分割Master工作机M工作机M工作机M工作机R工作机R(2)指派Map(2)指派Reduce片段1片段4片段3片段2输入文件(3)Read(4)本地存储输出文件0输出文件1Map状态本地存储Reduce状态输出文件(5)远程读取(6)写入文件31单词计数
体现M/R算法HelloWorld
ByeWorldHelloChina
ByeChinaHelloSi-tech
ByeSi-tech输入数据:MapReduceHello:3Bye:3China:2World:2Si-tech:2Map(Key,Value){for(eachworld‘world’invalue) collect(‘world’,1);}Reduce(Key,Value[]){intcount=0;for(eachwinvalue) count++;collect(Key,count);}1)32HelloWorld
ByeWorldHelloChina
ByeChinaHelloSi-tech
ByeSi-tech2)分割分割分割HelloWorld
ByeWorldHelloChina
ByeChinaHelloSi-tech
ByeSi-techKEYVALUEKEYVALUEKEYVALUE3)HelloWorld
ByeWorldHelloChina
ByeChinaHelloSi-tech
ByeSi-techMAPMAPMAP<Hello1><World1><Bye1><World1><Hello1><China1><Bye1><China1><Hello1><Si-tech1><Bye1><Si-tech1>33<Hello1><World1><Bye1><World1><Hello1><China1><Bye1><China1><Hello1><Si-tech1><Bye1><Si-tech1>4)Map输出Fold<Hello1><World1><Bye1><World1><Hello1><China1><Bye1><China1><Hello1><Si-tech1><Bye1><Si-tech1>Fold输出34<Hello3><Bye3><China2><World2><Si-tech2><Hello1><World1><Bye1><World1><Hello1><China1><Bye1><China1><Hello1><Si-tech1><Bye1><Si-tech1>Fold输出5)Reduce输出ReduceMapReduce容错机制背景MapReduce设计初衷:由普通PC组成的集群来处理超大规模的数据,所以有效的错误保障机制是必不可少Worker容错Master周期性的ping每个workerMaster容错Master周期性的将Master的数据结构的写入磁盘,即检查点(checkpoint)Master数据结构包括:Map和Reduce任务的状态(空闲、工作中或完成),以及Worker机器(非空闲任务的机器)的标识。35Google云计算原理分布式文件系统GFS并行数据处理模型MapReduce分布式锁服务Chubby分布式数据库BigTable1234Google云计算应用MapReduceBigTableGFSChubby3637初识云计算1Google云计算原理2GAE平台部署云服务3提纲TMForum对云态度438GAE部署云应用Q&A课堂演示部署过程39初识云计算1Google云计算原理2GAE平台部署云服务3提纲TMForum对云态度4TMFSeeSunnyFutureInTeleManagementWorldAmerican40TMF简介1、电信管理论坛,非盈利联盟组织2、会员遍布全球195个国家,700+会员公司3、我们公司也是会员,享受会员权利4、业界广泛使用的eTOM,SID,TAM,NGOSSTMF最新框架技术结束语云计算的出现并快速发展,一方面是虚拟化技术、分布式计算等技术发展的结果,另一方面也是互联网应用不断丰富趋势的体现。目前,虽然有Amazon、Google、IBM、Microsoft等在推,但云计算还没有一个统一的标准。云计算平台已经为很多用户所使用,但是云计算在行业标准、数据安全、服务质量、应用软件等方面也面临着各种问题,这些问题的解决需要技术的进一步发展。现有的研究大多集中于云体系结构、云存储、云数据管理、虚拟化、云安全、编程模型等技术41Google云计算技术主要内容Google的“云”在哪里?Google云计算应用场景Google云计算的技术框架Google云计算的关键技术Google的“云”在哪里?云计算是一个新概念于07年第3季度被提出,是并行计算、分布式计算和网格计算等技术的混合演进,经过商业包装的概念为分布式存储和分布式计算找到了盈利模式提出以来发展迅速,Google、Amazon、Microsoft等公司都提出了自己的云计算方案为什么Google需要“云”?系统规模对系统设计的重要性Google提供的服务:海量信息+海量用户,如何又好又快地提供服务?Google的“云”在哪里?Google的“云”无所不在GoogleEarth、Gmail……GoogleDocs,GoogleWave……云计算技术是Google大部分应用的基础设施没有“云计算”,就没有Google的创新服务Google云计算应用场景Google的云计算梦想应用向互联网迁移数据向互联网迁移计算能力向互联网迁移存储空间向互联网迁移“浏览器=操作系统”GoogleChromeGoogle云计算应用场景Google云计算应用的分类总体上,云计算可以分为IaaS、PaaS和SaaS三种类型Google云计算应用场景Google云计算应用的分类目前,Google云计算应用可以归于SaaS和PaaS两类SaaSGoogleDocsGoogleMapsGmailGoogleCalendarGoogleWave……PaaSGoogleAppEngineGoogle云计算应用场景
——GoogleDocsGoogle在线文档创建在线的Word和Excel,支持主要的文档编辑功能Google云计算应用场景
——GoogleDocsGoogle在线文档在线创建演示文档(PPT),并支持在线演示Google云计算应用场景
——GoogleDocsGoogle在线文档支持实时协作(多人同时编辑)使用丰富的在线模板,快速构建文档支持移动设备访问和编辑与其他产品集成,如Gmail等Google云计算应用场景
——GoogleMapsGoogle提供的电子地图服务Google云计算应用场景
——GoogleMapsGoogle提供的电子地图服务提供全球详尽的矢量电子地图不仅仅是地图街景地形交通流量卫星图片不仅仅是地图商业信息导航支持移动设备访问,对外提供服务Google云计算应用场景
——GmailGoogle提供的电子邮件服务超大附件、海量存储空间Google云计算应用场景
——GoogleCalendarGoogle提供的日程安排工具Google云计算应用场景
——GoogleWaveGoogle的信息分享、协作、发布平台一个创新和整合的平台整合了Gmail、即时通讯、文字处理、在线协作(游戏)等功能Google云计算应用场景
——AppEngine隶属于PaaS的Google云计算属于部署在云端的应用执行环境支持Python和Java两种语言通过SDK提供Google的各种服务,如图形、MAIL和数据存储等用户可快速、廉价(可免费使用限定的流量和存储)地部署自己开发的应用(如创新的网站、游戏等)Google云计算应用场景上述应用的特点应用(功能实现)在云端存储在云端计算在云端Google云计算的技术架构Google的云计算应用均依赖于四个基础组件文件存储,GoogleFileSystem,GFS并行数据处理MapReduce分布式锁Chubby结构化数据表BigTableGoogle云计算应用MapReduceBigTableGFSChubbyGoogle云计算关键技术
——GFSGoogle文件系统的假设与目标硬件出错是正常而非异常系统应当由大量廉价、易损的硬件组成必须保持文件系统整体的可靠性主要负载是流数据读写主要用于程序处理批量数据,而非与用户的交互或随机读写数据写主要是“追加写”,“插入写”非常少需要存储大尺寸的文件存储的文件尺寸可能是GB或TB量级,而且应当能支持存储成千上万的大尺寸文件Google云计算关键技术
——GFSGFS的架构如何存储大文件?节点分为Client、Master和ChunkServer三类Google云计算关键技术
——GFSGFS的架构Master:管理节点,逻辑上唯一(物理上多个),保存系统元数据,负责整个文件系统的管理,是GFS的“大脑”Google云计算关键技术
——GFSGFS的架构ChunkServer:负责具体的存储工作GFS可以包含多个ChunkServer,其数目决定了GFS的存储规模GFS将文件分块存储,块大小默认为64M,每隔块均具有唯一索引号(index)Google云计算关键技术
——GFSGFS的架构GFS的访问流程Google云计算关键技术
——GFSGFS的架构访问流程实现了控制流和信息流的分离Client与Master仅有控制流,使Master不成为瓶颈Client与ChunkServer直接存储数据,实现高速的数据并发读取Google云计算关键技术
——GFSGFS的架构的特点采用中心服务器模式可以方便地增加ChunkServerMaster掌握系统内所有ChunkServer的情况,方便进行负载均衡不存在元数据的一致性问题不缓冲数据GFS的文件操作大部分是流式读写,不存在大量的重复读写,使用Cache对性能提高不大ChunkServer上的数据存取使用本地文件系统,如果某个Chunk读取频繁,文件系统具有Cache从可行性看,Cache与实际数据的一致性维护也极其复杂Google云计算关键技术
——GFSGFS的架构的特点在用户态下实现直接利用ChunkServer的文件系统存取Chunk,实现简单用户态应用调试较为简单,利于开发用户态的GFS不会影响ChunkServer的稳定性只提供专用的访问接口降低GFS的实现复杂度Google云计算关键技术
——GFSGFS的容错机制ChunkServer容错每个Chunk有多个存储副本(通常是3个),分别存储于不通的服务器上每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,则转移至其他Chunk副本)Master容错三类元数据:命名空间(目录结构)、Chunk与文件名的映射以及Chunk副本的位置信息前两类通过日志提供容错,Chunk副本信息存储于ChunkServer,Master出现故障时可恢复Google云计算关键技术
——GFS基于GFS的Google数据中心节点廉价、易损坏,但整体可靠、稳定Google云计算关键技术
——MapReduceMapReduceGoogle提出的一个软件架构,是一种处理海量数据的并行编程模式用于大规模数据集(通常大于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:在分割之后的每一对<key,value>进行用户定义的Map进行处理,再生成新的<key,value>对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云计算关键技术
——ChubbyGoogle云计算中的分布式一致性问题例如,GFS在物理上往往包含多个Master,但需要在逻辑上确定唯一的Master。如何确定?这是一个分布式一致性问题Chubby是Google为解决分布式一致性问题而设计的提供粗粒度锁服务的文件系统Google云计算关键技术
——ChubbyChubby是一个文件系统,如何提供“锁”服务?Chubby中的锁就是文件在GFS的例子中,创建文件就是进行“加锁”操作,创建文件成功的那个server其实就是抢占到了“锁”用户通过打开、关闭和读取文件,获取共享锁或者独占锁;并且通过通信机制,向用户发送更新信息因此,通过Chubby可以解决Google云计算中的分布式一致性问题Google云计算关键技术
——BigTable为什么需要设计BigTable?Google需要存储的数据种类繁多网页,地图数据,邮件……如何使用统一的方式存储各类数据?海量的服务请求如何快速地从海量信息中寻找需要的数据?BigTable:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论