虚拟化与云计算-云架构_第1页
虚拟化与云计算-云架构_第2页
虚拟化与云计算-云架构_第3页
虚拟化与云计算-云架构_第4页
虚拟化与云计算-云架构_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云构架主要内容概述基础设施层平台层应用层分布式计算软件构架MapReduce介绍分布式计算开源框架Hadoop介绍小结概述云计算的服务层次基础设施层平台层应用层分布式计算软件构架MapReduce介绍分布式计算开源框架Hadoop介绍小结云构架层次共有云(通过Internet提供公共服务)混合云(通过Internet和Intranet提供公共和私有服务)私有云(通过Intranet提供私有服务)应用层软件及服务(SaaS)平台层平台即服务(PaaS)基础设施层基础设施即服务(Iaas)云构架的服务层次基础设施即服务提供虚拟化的计算资源、存储资源、网络资源AmazonEC2平台即服务使软件开发人员充分利用开放的资源来开发定制化的应用GoogleAppEngine软件即服务软件或应用通过租用的形式提供给用户使用SGoogleGmail、Docs概述基础设施层基本功能、示例、案例平台层应用层分布式计算软件构架MapReduce介绍分布式计算开源框架Hadoop介绍小结基础设施层的基本功能资源抽象资源监控复杂管理数据管理资源部署安全管理计费管理基础设施层示例AmazonEC2底层采用Xen虚拟化技术,以Xen虚拟机的形式向用户动态提供计算资源按照用户使用资源的数量和时间计费网址/ec2/概述基础设施层平台层基本功能、实例、案例应用层分布式计算软件构架MapReduce介绍分布式计算开源框架Hadoop介绍小结平台层的基本功能开发测试环境开发平台应用模型、API代码库、开发测试环境运行时环境验证、配置、部署、激活运营环境升级、监控、淘汰、计费平台层服务示例GoogleAppEngine在Google的基础架构上运行自己的网络应用程序提供网址抓取、邮件、memcache、图像操作、计划任务等服务目前支持Java和Python概述基础设施层平台层应用层特征、分类、案例分布式计算软件构架MapReduce介绍分布式计算开源框架Hadoop介绍小结应用层的特征可以通过浏览器访问,具有开放的API在使用的过程中根据实际使用情况付费较强的云应用之间的整合能力应用层的分类标准应用如文档处理、电子邮件、日程管理等提供商往往是实力雄厚的IT业巨头客户应用如客户管理系统CRM、企业资源计划系统ERP提供商是规模较小的专业公司多元应用如地铁时刻表服务Mutiny、期权交易方案提供TheOptionLab提供商多是规模较小的开发团队长尾理论核心思想在微小的需求如果能够得到满足就可以创造价值多元应用初创型公司和创新团队利用云计算快速将构想化为现实GoogleDocs&DocsforFacebook在线文档编辑多人协作编辑WebQQ一站式网络服务S客户应用的典型代表采用了多租户的架构,使得所有用户和用户和应用程序共享一个实例,同时又能够按需满足不同的客户要求概述基础设施层平台层应用层分布式计算软件构架MapReduce介绍分布式计算开源框架Hadoop介绍小结MapReduce在线测试平台使用mapreduce框架编程解决问题在线检测系统允许测试自己的程序/index.jspMapReduce:理解

考虑这样的问题:如何在大量文档中计算每个单词出现的总次数?又如何并行地进行计算呢?MapReduce编程模型受到编程语言如Lisp经常使用的map和reduce的启发用户主要实现map和reduce两个主要方法:1.Map:(key1,val1)→(key2,val2)2.Reduce:(key2,[val2])→[val3]

Map操作Map操作主要由用户实现,输入为键/值对,输出为一些列键/值对的集合如(doc—id,doc-content)map类似于SQL聚集请求中的group-by子句

Reduce操作

map阶段完成后,中间结果的键/值对则根据键的大小结合成列表传递给reducer可以看作聚集函数(如求平均),这需要在所有的具有相同group-by属性的记录上进行计算伪代码map(Stringinput_key,Stringinput_value)://input_key:documentname//input_value:documentcontentsforeachwordwininput_value: EmitIntermediate(w,"1");reduce(Stringoutput_key,Iteratorintermediate_values)://output_key:aword//output_values:alistofcountsintresult=0;foreachvinintermediate_values: result+=ParseInt(v);Emit(AsString(result));MapReduce:执行情况

输入文件Map阶段中间文件reduce阶段输出文件分布式文件系统MapReduce:例子

并行MapReduce:例子

MapReduce:容错性通过重新执行任务解决出错问题任务执行由master控制如果Mapper发生故障怎么办?在map任务中重新执行如果Reducer发生故障怎么办?在reduce任务中重新执行如果Master发生故障怎么办?潜在问题!!

MapReduce:

更多的例子MapReduce:PageRank

PageRank是描述“randomsurfer”行为的模型C(t)是t的链接数,(1-d)是阻尼系数(随机跳转)“randomsurfer”指的的是随机的链接情况并不考虑具体的网页内容将pagesrank平均分配给所有的链接网页阻尼系数用于描述“无聊”和随意的URLPageRank:关键理解

每次迭代的影响是有限的,第i+1次迭代仅仅依赖于第i次迭代第i次迭代,每个节点的PageRank可以独立地计算PageRank使用

MapReduce

M表示为系数矩阵M的每行是分配给链接网页的PageRank值这些值通过reduce聚集得到网页的PageRank值PageRank使用

MapReduceMap:将PageRank值分配给链接目标Reduce:从多个源聚集PageRank值计算得到新的PageRank值不断迭代直至收敛SourceofImage:Lin2008

阶段

1:HTML处理

Map任务输入(URL,content)对进行map后输出(URL,(PRinit,list-of-urls))PRinit是URL初始的PageRank值list-of-urls包含URL所指向的所有网页Reduce任务只是验证函数

阶段

2:PageRank分配

Reduce任务输入(URL,url_list)和许多(URL,val)值计算vals并且计算d来获得新的PR值输出(URL,(new_rank,url_list))非并行地检查是否收敛MapReduce:更多的例子分布式Grep.URL点击频率计算

聚类(K-means)图像算法.索引系统MapReduceProgramsInGoogleSourceTreeMapReduce:扩展和相似应用平台

PIG(Yahoo)Hadoop(Apache)DryadLinq(Microsoft)使用MapReduce的大规模系统构架UserAppMapReduceDistributedFileSystems(GFS)概述基础设施层平台层应用层分布式计算软件构架MapReduce介绍分布式计算开源框架Hadoop介绍小结Hadoop相关书籍我们关于云计算和Hadoop的新书《分布式系统和云计算概论》《Hadoop实战》可以通过以下网址下载部分章节:/course/cloudcomputing2010/index.html概述Hadoop分布式文件系统构架Hadoop在Facebook的使用为什么使用Hadoop?需要处理Petabyte级别的数据集为每个应用程序的建立可靠的平台代价较大每天都有节点坏掉 –节点坏掉是可以预料到的 –集群中节点的数量不是稳定的只需要普通的基础设施 –高效、可信、开源Hadoop历史Dec2004–GoogleGFS论文发表July2005–Nutch使用MapReduceFeb2006–成为Lucene子项目Apr2007–Yahoo!建立1000个节点的集群Jan2008–成为Apache顶级项目Jul2008–建立4000节点的测试集群Sept2008–Hive成为Hadoop子项目谁在使用Hadoop?Amazon/A9FacebookGoogleIBMJoostLast.fmNewYorkTimesPowerSetVeohYahoo!商业硬件典型的2层构架–节点是普通的商业PC机–30-40节点/rack–顶层到rack带宽

3-4gigabit–Rack到节点带宽1gigabitHDFS目标超长规模分布式文件系统 –10K个节点,1亿个文件,10PB大小

使用普通商业硬件 –对文件进行复制应对硬件坏掉的情况 –检测硬件错误并进行恢复分组处理优化 –计算任务可以移植到数据所在的节点上 –提供非常高的聚集带宽用户空间,运行在不同的操作系统上

构架分布式文件系统整个集群使用一个命名空间数据一致性 –一次写入多次读取 –用户在已有文件中只能追加内容

文件拆分到数据块中 –默认数据块大小为128MB –每个数据块复制后放入不同的DataNodes智能客户端 –客户端可以获得数据块的位置 –客户端可以直接从DataNode获取数据NameNode元数据内存中的元数据 –整个元数据在内存中 –元数据没有请求页面调度

元数据的类型 –文件列表 –每个文件的数据块列表 –每个数据块的DataNodes列表 –文件属性,如创建时间、副本数等事务日志 –记录创建文件、删除文件等DataNode数据块服务器 –存储本地文件系统的数据(如ext3) –存储数据块的元数据(如CRC) –为客户提供数据和元数据数据块报告 –周期性地向NameNode发送所以数据块的状态报告方便于数据流水线 –将数据发送给其他指定的DataNodes数据块位置现在策略

--原始副本在本地节点上 --第二个副本在其它的rack上 --第三个副本在同第二个rack上不同节点上 --其它副本随机放置客户读取最近的副本将来这个策略可以扩展数据正确性使用检验和验证数据 –使用CRC32文件创建 –每512字节计算一个校验和 –校验和存储在DataNode上文件获取 –用户从DataNode获得数据和校验和 –如果检验错误,用户获取其它副本NameNode发生故障故障的发生点事务日志存储在不同的目录下 –本地文件系统上的目录 –网络文件系统(NFS/CIFS)上的目录数据流水线(写入)用户获取存放有数据块副本的DataNode列表用户写入第一个DataNode的数据块第一个DataNode用流水线方式将新数据写入其它的DataNode当所有的副本都更新后,用户开始写入文件中的下一个数据块平衡器目标:%所有DataNode上的磁盘存储量应差不多当新的DataNode加入时需要运行平衡器当平衡器工作时集群是在线的平衡器作用是防止网络阻塞Facebook的Hadoop集群产品集群4800个内核,600

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论