云计算大数据关键技术与应用课件_第1页
云计算大数据关键技术与应用课件_第2页
云计算大数据关键技术与应用课件_第3页
云计算大数据关键技术与应用课件_第4页
云计算大数据关键技术与应用课件_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

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

文档简介

云计算&大数据关键技术与应用

云计算&大数据关键技术与应用

1目录云计算&大数据技术架构虚拟化技术12分布式数据处理技术海量数据存储技术34大数据技术应用实例5目录云计算&大数据技术架构虚拟化技术12分布式数据处理2云计算运营两大阵营云计算运营两大阵营3云计算产品的生态系统4基础硬件层虚拟化软件存储软件Swift网络软件虚拟化和基础软件层Glance基础架构及服务层应用层商用软件开源软件虚拟桌面海量数据处理云计算产品的生态系统4基础硬件层虚拟化软件存储软件Swift大数据分析面临的主要技术问题需要提供一个高效稳定的存储和计算引擎如何支撑1万、10万台以上的机群规模?多集群架构,运维和管理系统如何在一个平台上支持多个组织的多个用户进行开发?多租户支持,安全隔离,权限控制如何了解业务运行状态?元数据管理,指标系统如何管理不同种类的任务?服务化,统一计算入口,可度量和控制的计算资源快速查询,精准搜索,智能分析…大数据分析面临的主要技术问题需要提供一个高效稳定的存储和计算5云计算技术用于处理大数据Highperformance–高并发读写

高并发、实时动态获取和更新数据HugeStorage–海量数据的高效率存储访问和智能分析

类似SNS网站,海量用户信息的高效率实时存储和查询HighScalability&&HighAvailability–高可扩展性和高可用性

需要拥有快速横向扩展能力、提供7*24小时不间断服务云计算技术用于处理大数据6阿里大数据状况淘宝主站(2011年):30亿店铺、宝贝浏览10亿计的在线宝贝数千万量级交易笔数数据产品(2011年):50G统计汇总结果千万量级数据查询请求平均20.8ms的响应时间数据来源:阿里相关技术介绍ppt阿里大数据状况淘宝主站(2011年):数据产品(2011年)7阿里技术架构总览数据来源:阿里相关技术介绍ppt阿里技术架构总览数据来源:阿里相关技术介绍ppt8腾讯大数据状况数据来源:2012-12-1赵伟《HIVE在腾讯分布式数据仓库实践分享》腾讯大数据状况数据来源:2012-12-1赵伟《HIVE在9腾讯技术架构数据来源:2012-12-1赵伟《HIVE在腾讯分布式数据仓库实践分享》腾讯技术架构数据来源:2012-12-1赵伟《HIVE在腾10百度大数据状况数据来源:2011年百度云计算总工程师林仕鼎讲座《百度云计算总体介绍》数据来源:2012.10百度杨毅讲座《百度的下一代计算系统》百度大数据状况数据来源:2011年百度云计算总工程师林仕鼎11百度技术架构数据来源:2011年百度云计算总工程师林仕鼎讲座《百度云计算总体介绍》百度技术架构数据来源:2011年百度云计算总工程师林仕鼎讲12海量结构化数据存储系统(SQL)分布式文件系统海量非结构化数据存储系统(SQL)机器学习大数据应用机器学习分布式文件系统海量数据存储大规模计算智能分析大数据技术架构-模型分布式并行计算系统数据挖掘语义搜索……海量结构化数据存储系统分布式文件系统海量非结构化数据存储系统13HIVEPig!ZooKeeper分布式文件系统海量数据存储大规模计算智能分析算法大数据技术架构-典型开源实现HIVEPig!Zoo分布式文件系统海量数据存储大规模计算智14目录云计算&大数据技术架构虚拟化技术12分布式数据处理技术海量数据存储技术34大数据技术应用实例大数据技术应用实例56目录云计算&大数据技术架构虚拟化技术12分布式数据处理15虚拟化技术通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式虚拟化软件实现对硬件的抽象,资源的分配、调度和管理,虚拟机与宿主操作系统及多个虚拟机间的隔离等功能,目前典型的实现(基本成为事实标准)有:CitrixXenVMwareESXServerMicrosoftHype-VRedhatKVM网络虚拟化存储虚拟化桌面虚拟化计算虚拟化虚拟化技术通过虚拟化技术可实现软件应用与底层硬件相隔离,它包16计算虚拟化技术Container1Container2Container3GuestOSGuestOSGuestOSVM1VM2VM3虚拟硬件虚拟硬件虚拟硬件VirtualMachineMonitorHypervisororStandardHostOSHardwareStandardHostOSHardware操作系统虚拟化层HypervisorOSVirtualization硬件虚拟化(Hypervisors)虚拟硬件访问创建多个虚拟硬件实例宿主操作系统及每个Guest必须为完整操作系统VMwareESXi,MicrosoftHyper-V操作系统虚拟化(Containers)虚拟操作系统访问创建多个虚拟操作系统实例物理服务器拥有单个、标准的OS内核VMwareworkstation,SunSolarisContainers,OpenVZ计算虚拟化技术ContainerContainerConta17网络虚拟化:软件定义网络SDN(SoftwareDefinedNetwork)SDN是一种新兴的控制与转发分离并直接可编程的网络架构传统网络设备紧耦合的网络架构被拆分成应用、控制、转发三层分离的架构。控制功能被转移到了服务器上,上层应用、底层转发设施被抽象成多了逻辑实体网络虚拟化:软件定义网络SDN(SoftwareDefin18网络虚拟化-VxLan实现虚拟机的跨网络迁移虚拟可扩展VLAN(VirtualExtensibleVLAN,VXLAN)标准将创建一个逻辑网络(或扩展VLAN),支持地理分散的数据中心之间实现远距离虚拟机(VM)迁移。VXLAN最终会实现多租户云网络所需要的远距离分割支持思科与VMware已经合作将VXLAN标准整合到产品中,但是这个由思科、VMware、Arista网络、Broadcom公司、Citrix系统和红帽等公司共同制定的VXLAN草案仍然有待互联网工程工作小组(IETF)标准化。网络虚拟化-VxLan实现虚拟机的跨网络迁移虚拟可扩展VLA19云计算基础设施管理技术云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营常用的开源VIMOpenStackCloudStackOpenNebulaEucalyptusC(Cloudstack)DeltaCloudClever云计算基础设施管理技术云计算资源规模庞大,服务器数量众多并分20OpenStack简介OpenStack是由Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部实现类似于AmazonEC2和S3的云基础架构服务(IaaS)。用Python语言编写大型用户:NASA加拿大半官方机构CANARIE网络的DAIR项目RackspaceCloud惠普云(使用UbuntuLinux)MercadoLibre的IT基础设施云,现以Openstack管理超过60000台服务器OpenStack简介OpenStack是由Rackspac21OpenStack

社区OpenStack社区22目录云计算&大数据技术架构虚拟化技术12分布式数据处理技术海量数据存储技术34大数据技术应用实例5目录云计算&大数据技术架构虚拟化技术12分布式数据处理23Google分布式处理架构Google云计算应用BigTableGFSMapReduceChubby组件调用关系分析分布式文件系统分布式计算模型Google分布式处理架构Google云计算应用BigTab24分布式文件系统-Google文件系统(GFS)Google

48%MSN

19%Yahoo

33%客户端客户端客户端互为备份管理节点GFS主节点GFS主节点C0C1C2C5数据结点1C0C2C5数据结点NC1C5数据结点2…客户端客户端客户端客户端客户端客户端C1分布式文件系统-Google文件系统(GFS)Google

25分布式文件系统-HDFS基本结构采用主从架构,由一个Namenode和若干个Datanode组成Namenode:负责管理名字空间

与客户端访问Datanode:管理附带的存储,

存储文件的block一个文件分成多个block,Block是HDFS最小存储与分配单位,,分布存储,典型块大小为64MB或128MB一个block被复制存放于多个datanodeHDFS在Yahoo安装

了14PB的在线磁盘分布式文件系统-HDFS基本结构26分布式文件系统-GlusterFS分布式文件系统-GlusterFS27分布式文件系统-LustreMDS:MetadataServer,元数据管理器,管理名字空间和文件对象映射OSS:ObjectStorageServer,I/O服务器MDT:MetadataTarget,MDS的本地磁盘存储OST:ObjectStorageTarget,OSS的本地磁盘存储OSTMDT分布式文件系统-LustreMDS:MetadataS28分布式文件系统-写入性能比较来源:中科院深圳先进技术研究院熊文,喻之斌,须成忠的论文《几个常见分布式文件系统特征分析和性能对比》(《集成技术》2012年11月)分布式文件系统-写入性能比较来源:中科院深圳先进技术研究院29分布式文件系统-读取性能比较来源:中科院深圳先进技术研究院熊文,喻之斌,须成忠的论文《几个常见分布式文件系统特征分析和性能对比》(《集成技术》2012年11月)分布式文件系统-读取性能比较来源:中科院深圳先进技术研究院30分布式计算模型-概述待处理数据量巨大短时间处理如何进行并行分布式计算?如何分发待处理数据?如何处理分布式计算中的错误?MapReduce模型Google公司的核心计算模型分布式计算模型-概述待处理数据量巨大MapReduce模型G31分布式计算模型-MapReduce一个软件架构,是一种处理海量数据的并行编程模式,用于大规模数据集(通常大于100TB)的并行运算适合要求:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。MapReduce实现了Map和Reduce两个功能Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集Reduce对结果集进行分类和归纳Map()和Reduce()两个函数可能会并行运行计算流程分布式计算模型-MapReduce一个软件架构,是一种处理32分布式计算模型-MapReduce提供数据的存储访问、数据块划分、计算节点调度管理、数据通信、结果收集、容错处理、负载均衡、性能优化等JobTracker:主结点接受用户提交的MRjob分派map任务和reduce任务监管tasks和tasktrackers,重新执行失效任务一般情况应该把JobTracker部署在单独的机器上TaskTracker:任务的调度多个运行于多个节点的slaver服务,一个Datanode节点一个。按照jobtracker的要求执行map或者reduce任务管理存储,传输中间结果分布式计算模型-MapReduce提供数据的存储访问、数据33分布式计算模型-MapReduce任务执行状态更新Shuffle&Sort分布式计算模型-MapReduce任务执行状态更新Shuf34单词记数问题(WordCount)(Hadoop自带例子)给定一个巨大的文本(如1TB),如何计算单词出现的数目?MapReduce示例单词记数问题(WordCount)(Hadoop自带例子)35Step1:自动对文本进行分割MapReduce示例Step1:自动对文本进行分割MapReduce示例36Step2:在分割之后的每一对<key,value>进行用户定义的Map进行处理,再生成新的<key,value>对MapReduce示例Map类:编程实现HadoopMapper接口的Map方法Step2:在分割之后的每一对<key,value>进行用37Step3:对输出的结果集归拢、排序(系统自动完成)MapReduce示例Step3:对输出的结果集归拢、排序(系统自动完成)Map38Step4:通过Reduce操作生成最后结果MapReduce示例Reduce类:编程实现HadoopReduce接口的Reduce方法Step4:通过Reduce操作生成最后结果MapRedu39目录云计算&大数据技术架构虚拟化技术12分布式数据处理技术海量数据存储技术34大数据技术应用实例5目录云计算&大数据技术架构虚拟化技术12分布式数据处理401.Volume2.

Variety3.value4.Velocity结构化数据、半结构化数据和非结构化数据如今的数据类型早已不是单一的文本形式,订单、日志、音频,能力提出了更高的要求沙里淘金,价值密度低以视频为例,一部一小时的视频,在连续不间断监控过程中,可能有用的数据仅仅只有一两秒。如何通过强大的机器算法更迅速地完成数据的价值“提纯”是目前大数据汹涌背景下亟待解决的难题实时获取需要的信息大数据区分于传统数据最显著的特征。如今已是ZB时代,在如此海量的数据面前,处理数据的效率就是企业的生命无法在一定时间内用传统数据库软件工具对其内容进行抓取、管理和处理的数据集合大数据的特点数据量巨大全球在2010年正式进入ZB时代,IDC预计到2020年,全球将总共拥有35ZB的数据量1PB数据相当于50%的全美学术研究图书馆藏书资讯内容。而到2012年为止,人类生产的所有印刷材料的数据量是200PB,全人类历史上说过的所有话的数据量大约是5EB。1.Volume2.Variety3.value4.41存储原理数据库存储数据库以行、列的二维表的形式存储数据以一维字符串的方式存储到磁盘行式存储按行来序列化并追加到磁盘列式存储按行来序列化并追加到磁盘列族存储原理数据库存储42CAP理论分布式数据系统的CAP原理的三要素:一致性(Consistency)可用性(Availability)分区容忍性(Partitiontolerance)CAP原理:在分布式系统中,这三个要素最多只能同时实现两点,不可能三者兼顾对于分布式数据系统,分区容忍性是基本要求对于大多数web应用,牺牲一致性而换取高可用性,是目前多数分布式数据库产品的方向。CAP理论分布式数据系统的CAP原理的三要素:43NoSQL的两个核心模型Google的BigTable

BigTable提出了一种很有趣的数据模型,它将各列数据进行排序存储。数据值按范围分布在多台机器,数据更新操作有严格的一致性保证。Amazon的Dynamo

Dynamo使用的是另外一种分布式模型。Dynamo的模型更简单,它将数据按key进行hash存储。其数据分片模型有比较强的容灾性,因此它实现的是相对松散的弱一致性:最终一致性。NoSQL的两个核心模型Google的BigTable44NoSQL技术分类Key-value一个Key对应一个Value,能提供非常快的查询速度、大的数据存放量和高并发操作,非常适合通过主键对数据进行查询和修改等操作RedisBerkeleyDBKyotoCabinet/Tycoon列式存储按列存储数据,最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势

HbaseCassandra文档结构结构和Key-value非常相似,也是一个Key对应一个Value,但是这个Value主要以JSON或者XML等格式的文档来进行存储,是有语义的。可以对某些字段建立索引,实现关系数据库的某些功能。MongoDBCouchDB图式存储以图论为基础Neo4JNoSQL技术分类Key-value45简介Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。Google的很多项目使用Bigtable存储数据,包括Web索引、GoogleEarth、GoogleFinance等。数据模型Bigtable是一个稀疏的、分布式的、持久化存储的多维度排序Map。Map的索引是行关键字、列关键字以及时间戳;Map中的每个value都是一个未经解析的byte数组NoSQL——BigTable特点适合大规模海量数据,PB级数据;分布式、并发数据处理,效率极高;易于扩展,支持动态伸缩;适用于廉价设备;适合于读操作,不适合写操作;不适用于传统关系数据库;简介NoSQL——BigTable特点46简介HadoopDatabase,HBase是GoogleBigtable的开源实现,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。数据模型类似GoogleBigtable利用GFS作为其文件存储系统,HBase利用HadoopHDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用HadoopMapReduce来处理HBase中的海量数据;GoogleBigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。NoSQL—Hbase底层数据存储基于HDFS高可用,高性能列存储,多版本百亿行×百万列×上万个版简介NoSQL—Hbase底层数据存储基于HDFS47简介:一个开源的使用C语言编写、支持网络、可基于内存也可持久化的key-value存储系统,仅有一万行代码。从2010年3月15日起,Redis的开发工作由VMware主持。NoSQL——Redis速度快:C语言、数据加载到内存持久化:数据保存到内存的同时,还可以同步到磁盘上数据结构:支持五种数据结构支持多语言:诸如C,PHP,java,Perl,Ruby,Python等主从复制:支持简单的主从复制,官方提供数据,Slave在21秒完成了对Amazon网站10Gkeyset的复制相比memcached的优势:value类型更丰富数据操作方法更多可将内存数据持久化简介:一个开源的使用C语言编写、支持网络、可基于内存也可持久48最初由Facebook开发,用于储存收件箱等简单格式数据集GoogleBigTable的数据模型与AmazonDynamo的完全分布式的架构于一身Facebook于2008将Cassandra开源,此后,由于Cassandra良好的可扩放性,被Digg、Twitter等知名Web2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案NoSQL——Cassandra特点模式灵活:使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部署上。真正的可扩展性:Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。多数据中心识别:你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。最初由Facebook开发,用于储存收件箱等简单格式数据No49介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的支持的数据结构非常松散,是类似json的bjson格式,可以存储比较复杂的数据类型支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。NoSQL——MongoDB主要特点文档型:存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型。面向集合存储:易存储对象类型的数据,包括文档内嵌对象及数组。模式自由:无需知道存储数据的任何结构定义,支持动态查询、完全索引,可轻易查询文档中内嵌的对象和数组高效的数据存储:支持二进制数据及大型对象支持复制和故障恢复:提供Master-Master、Master-Slave模式的数据复制及服务器之间的数据复制自动分片:以支持云级别的伸缩性,支持水平的数据库集群,可动态添加额外的服务器不适用场景要求高度事务性的系统传统的商业智能应用复杂的跨文档(表)级联查询介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰50Neo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图,可以扩展到多台机器并行运行。相对于关系数据库来说,图数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题。通过围绕图进行数据建模,Neo4j会以相同的速度遍历节点与边,其遍历速度与构成图的数据量没有任何关系。Neo4j还提供了非常快的图算法、推荐系统和OLAP风格的分析,这在目前的RDBMS系统中都没有实现。NoSQL——Neo4JNeo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节51SQL——HIVEHIVE的不足SQL——HIVEHIVE的不足52Oracle的大数据解决方案Oracle的大数据解决方案53Facebook的处理模式Facebook的处理模式54目录云计算&大数据技术架构虚拟化技术12分布式数据处理技术海量数据存储技术34大数据技术应用实例5目录云计算&大数据技术架构虚拟化技术12分布式数据处理55应用实例1:互联网行为分析平台应用实例1:互联网行为分析平台56应用实例2:海量小图片管理需求上亿个影像图文件每个影像图文件大小约10~20K须集中管理需满足图档的实时调阅与查询现状以SANStorage来储存与管理所有的影像图文件每个影像文件以档案目录方式来管理以数据库来存放每个图像图文件之特征值(meta-data)与文件路径,供使用者查询与搜索SANStorageDB应用程序应用程序应用程序应用程序应用实例2:海量小图片管理需求SANDB应用程序应用程序应用57快速迭代的开发模式快速迭代的开发模式58分布式系统测试分布式系统测试59资料参考-阿里技术嘉年华资料参考-阿里技术嘉年华60资料参考-腾讯大讲堂资料参考-腾讯大讲堂61谢谢!谢谢!62云计算&大数据关键技术与应用

云计算&大数据关键技术与应用

63目录云计算&大数据技术架构虚拟化技术12分布式数据处理技术海量数据存储技术34大数据技术应用实例5目录云计算&大数据技术架构虚拟化技术12分布式数据处理64云计算运营两大阵营云计算运营两大阵营65云计算产品的生态系统66基础硬件层虚拟化软件存储软件Swift网络软件虚拟化和基础软件层Glance基础架构及服务层应用层商用软件开源软件虚拟桌面海量数据处理云计算产品的生态系统4基础硬件层虚拟化软件存储软件Swift大数据分析面临的主要技术问题需要提供一个高效稳定的存储和计算引擎如何支撑1万、10万台以上的机群规模?多集群架构,运维和管理系统如何在一个平台上支持多个组织的多个用户进行开发?多租户支持,安全隔离,权限控制如何了解业务运行状态?元数据管理,指标系统如何管理不同种类的任务?服务化,统一计算入口,可度量和控制的计算资源快速查询,精准搜索,智能分析…大数据分析面临的主要技术问题需要提供一个高效稳定的存储和计算67云计算技术用于处理大数据Highperformance–高并发读写

高并发、实时动态获取和更新数据HugeStorage–海量数据的高效率存储访问和智能分析

类似SNS网站,海量用户信息的高效率实时存储和查询HighScalability&&HighAvailability–高可扩展性和高可用性

需要拥有快速横向扩展能力、提供7*24小时不间断服务云计算技术用于处理大数据68阿里大数据状况淘宝主站(2011年):30亿店铺、宝贝浏览10亿计的在线宝贝数千万量级交易笔数数据产品(2011年):50G统计汇总结果千万量级数据查询请求平均20.8ms的响应时间数据来源:阿里相关技术介绍ppt阿里大数据状况淘宝主站(2011年):数据产品(2011年)69阿里技术架构总览数据来源:阿里相关技术介绍ppt阿里技术架构总览数据来源:阿里相关技术介绍ppt70腾讯大数据状况数据来源:2012-12-1赵伟《HIVE在腾讯分布式数据仓库实践分享》腾讯大数据状况数据来源:2012-12-1赵伟《HIVE在71腾讯技术架构数据来源:2012-12-1赵伟《HIVE在腾讯分布式数据仓库实践分享》腾讯技术架构数据来源:2012-12-1赵伟《HIVE在腾72百度大数据状况数据来源:2011年百度云计算总工程师林仕鼎讲座《百度云计算总体介绍》数据来源:2012.10百度杨毅讲座《百度的下一代计算系统》百度大数据状况数据来源:2011年百度云计算总工程师林仕鼎73百度技术架构数据来源:2011年百度云计算总工程师林仕鼎讲座《百度云计算总体介绍》百度技术架构数据来源:2011年百度云计算总工程师林仕鼎讲74海量结构化数据存储系统(SQL)分布式文件系统海量非结构化数据存储系统(SQL)机器学习大数据应用机器学习分布式文件系统海量数据存储大规模计算智能分析大数据技术架构-模型分布式并行计算系统数据挖掘语义搜索……海量结构化数据存储系统分布式文件系统海量非结构化数据存储系统75HIVEPig!ZooKeeper分布式文件系统海量数据存储大规模计算智能分析算法大数据技术架构-典型开源实现HIVEPig!Zoo分布式文件系统海量数据存储大规模计算智76目录云计算&大数据技术架构虚拟化技术12分布式数据处理技术海量数据存储技术34大数据技术应用实例大数据技术应用实例56目录云计算&大数据技术架构虚拟化技术12分布式数据处理77虚拟化技术通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式虚拟化软件实现对硬件的抽象,资源的分配、调度和管理,虚拟机与宿主操作系统及多个虚拟机间的隔离等功能,目前典型的实现(基本成为事实标准)有:CitrixXenVMwareESXServerMicrosoftHype-VRedhatKVM网络虚拟化存储虚拟化桌面虚拟化计算虚拟化虚拟化技术通过虚拟化技术可实现软件应用与底层硬件相隔离,它包78计算虚拟化技术Container1Container2Container3GuestOSGuestOSGuestOSVM1VM2VM3虚拟硬件虚拟硬件虚拟硬件VirtualMachineMonitorHypervisororStandardHostOSHardwareStandardHostOSHardware操作系统虚拟化层HypervisorOSVirtualization硬件虚拟化(Hypervisors)虚拟硬件访问创建多个虚拟硬件实例宿主操作系统及每个Guest必须为完整操作系统VMwareESXi,MicrosoftHyper-V操作系统虚拟化(Containers)虚拟操作系统访问创建多个虚拟操作系统实例物理服务器拥有单个、标准的OS内核VMwareworkstation,SunSolarisContainers,OpenVZ计算虚拟化技术ContainerContainerConta79网络虚拟化:软件定义网络SDN(SoftwareDefinedNetwork)SDN是一种新兴的控制与转发分离并直接可编程的网络架构传统网络设备紧耦合的网络架构被拆分成应用、控制、转发三层分离的架构。控制功能被转移到了服务器上,上层应用、底层转发设施被抽象成多了逻辑实体网络虚拟化:软件定义网络SDN(SoftwareDefin80网络虚拟化-VxLan实现虚拟机的跨网络迁移虚拟可扩展VLAN(VirtualExtensibleVLAN,VXLAN)标准将创建一个逻辑网络(或扩展VLAN),支持地理分散的数据中心之间实现远距离虚拟机(VM)迁移。VXLAN最终会实现多租户云网络所需要的远距离分割支持思科与VMware已经合作将VXLAN标准整合到产品中,但是这个由思科、VMware、Arista网络、Broadcom公司、Citrix系统和红帽等公司共同制定的VXLAN草案仍然有待互联网工程工作小组(IETF)标准化。网络虚拟化-VxLan实现虚拟机的跨网络迁移虚拟可扩展VLA81云计算基础设施管理技术云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营常用的开源VIMOpenStackCloudStackOpenNebulaEucalyptusC(Cloudstack)DeltaCloudClever云计算基础设施管理技术云计算资源规模庞大,服务器数量众多并分82OpenStack简介OpenStack是由Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部实现类似于AmazonEC2和S3的云基础架构服务(IaaS)。用Python语言编写大型用户:NASA加拿大半官方机构CANARIE网络的DAIR项目RackspaceCloud惠普云(使用UbuntuLinux)MercadoLibre的IT基础设施云,现以Openstack管理超过60000台服务器OpenStack简介OpenStack是由Rackspac83OpenStack

社区OpenStack社区84目录云计算&大数据技术架构虚拟化技术12分布式数据处理技术海量数据存储技术34大数据技术应用实例5目录云计算&大数据技术架构虚拟化技术12分布式数据处理85Google分布式处理架构Google云计算应用BigTableGFSMapReduceChubby组件调用关系分析分布式文件系统分布式计算模型Google分布式处理架构Google云计算应用BigTab86分布式文件系统-Google文件系统(GFS)Google

48%MSN

19%Yahoo

33%客户端客户端客户端互为备份管理节点GFS主节点GFS主节点C0C1C2C5数据结点1C0C2C5数据结点NC1C5数据结点2…客户端客户端客户端客户端客户端客户端C1分布式文件系统-Google文件系统(GFS)Google

87分布式文件系统-HDFS基本结构采用主从架构,由一个Namenode和若干个Datanode组成Namenode:负责管理名字空间

与客户端访问Datanode:管理附带的存储,

存储文件的block一个文件分成多个block,Block是HDFS最小存储与分配单位,,分布存储,典型块大小为64MB或128MB一个block被复制存放于多个datanodeHDFS在Yahoo安装

了14PB的在线磁盘分布式文件系统-HDFS基本结构88分布式文件系统-GlusterFS分布式文件系统-GlusterFS89分布式文件系统-LustreMDS:MetadataServer,元数据管理器,管理名字空间和文件对象映射OSS:ObjectStorageServer,I/O服务器MDT:MetadataTarget,MDS的本地磁盘存储OST:ObjectStorageTarget,OSS的本地磁盘存储OSTMDT分布式文件系统-LustreMDS:MetadataS90分布式文件系统-写入性能比较来源:中科院深圳先进技术研究院熊文,喻之斌,须成忠的论文《几个常见分布式文件系统特征分析和性能对比》(《集成技术》2012年11月)分布式文件系统-写入性能比较来源:中科院深圳先进技术研究院91分布式文件系统-读取性能比较来源:中科院深圳先进技术研究院熊文,喻之斌,须成忠的论文《几个常见分布式文件系统特征分析和性能对比》(《集成技术》2012年11月)分布式文件系统-读取性能比较来源:中科院深圳先进技术研究院92分布式计算模型-概述待处理数据量巨大短时间处理如何进行并行分布式计算?如何分发待处理数据?如何处理分布式计算中的错误?MapReduce模型Google公司的核心计算模型分布式计算模型-概述待处理数据量巨大MapReduce模型G93分布式计算模型-MapReduce一个软件架构,是一种处理海量数据的并行编程模式,用于大规模数据集(通常大于100TB)的并行运算适合要求:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。MapReduce实现了Map和Reduce两个功能Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集Reduce对结果集进行分类和归纳Map()和Reduce()两个函数可能会并行运行计算流程分布式计算模型-MapReduce一个软件架构,是一种处理94分布式计算模型-MapReduce提供数据的存储访问、数据块划分、计算节点调度管理、数据通信、结果收集、容错处理、负载均衡、性能优化等JobTracker:主结点接受用户提交的MRjob分派map任务和reduce任务监管tasks和tasktrackers,重新执行失效任务一般情况应该把JobTracker部署在单独的机器上TaskTracker:任务的调度多个运行于多个节点的slaver服务,一个Datanode节点一个。按照jobtracker的要求执行map或者reduce任务管理存储,传输中间结果分布式计算模型-MapReduce提供数据的存储访问、数据95分布式计算模型-MapReduce任务执行状态更新Shuffle&Sort分布式计算模型-MapReduce任务执行状态更新Shuf96单词记数问题(WordCount)(Hadoop自带例子)给定一个巨大的文本(如1TB),如何计算单词出现的数目?MapReduce示例单词记数问题(WordCount)(Hadoop自带例子)97Step1:自动对文本进行分割MapReduce示例Step1:自动对文本进行分割MapReduce示例98Step2:在分割之后的每一对<key,value>进行用户定义的Map进行处理,再生成新的<key,value>对MapReduce示例Map类:编程实现HadoopMapper接口的Map方法Step2:在分割之后的每一对<key,value>进行用99Step3:对输出的结果集归拢、排序(系统自动完成)MapReduce示例Step3:对输出的结果集归拢、排序(系统自动完成)Map100Step4:通过Reduce操作生成最后结果MapReduce示例Reduce类:编程实现HadoopReduce接口的Reduce方法Step4:通过Reduce操作生成最后结果MapRedu101目录云计算&大数据技术架构虚拟化技术12分布式数据处理技术海量数据存储技术34大数据技术应用实例5目录云计算&大数据技术架构虚拟化技术12分布式数据处理1021.Volume2.

Variety3.value4.Velocity结构化数据、半结构化数据和非结构化数据如今的数据类型早已不是单一的文本形式,订单、日志、音频,能力提出了更高的要求沙里淘金,价值密度低以视频为例,一部一小时的视频,在连续不间断监控过程中,可能有用的数据仅仅只有一两秒。如何通过强大的机器算法更迅速地完成数据的价值“提纯”是目前大数据汹涌背景下亟待解决的难题实时获取需要的信息大数据区分于传统数据最显著的特征。如今已是ZB时代,在如此海量的数据面前,处理数据的效率就是企业的生命无法在一定时间内用传统数据库软件工具对其内容进行抓取、管理和处理的数据集合大数据的特点数据量巨大全球在2010年正式进入ZB时代,IDC预计到2020年,全球将总共拥有35ZB的数据量1PB数据相当于50%的全美学术研究图书馆藏书资讯内容。而到2012年为止,人类生产的所有印刷材料的数据量是200PB,全人类历史上说过的所有话的数据量大约是5EB。1.Volume2.Variety3.value4.103存储原理数据库存储数据库以行、列的二维表的形式存储数据以一维字符串的方式存储到磁盘行式存储按行来序列化并追加到磁盘列式存储按行来序列化并追加到磁盘列族存储原理数据库存储104CAP理论分布式数据系统的CAP原理的三要素:一致性(Consistency)可用性(Availability)分区容忍性(Partitiontolerance)CAP原理:在分布式系统中,这三个要素最多只能同时实现两点,不可能三者兼顾对于分布式数据系统,分区容忍性是基本要求对于大多数web应用,牺牲一致性而换取高可用性,是目前多数分布式数据库产品的方向。CAP理论分布式数据系统的CAP原理的三要素:105NoSQL的两个核心模型Google的BigTable

BigTable提出了一种很有趣的数据模型,它将各列数据进行排序存储。数据值按范围分布在多台机器,数据更新操作有严格的一致性保证。Amazon的Dynamo

Dynamo使用的是另外一种分布式模型。Dynamo的模型更简单,它将数据按key进行hash存储。其数据分片模型有比较强的容灾性,因此它实现的是相对松散的弱一致性:最终一致性。NoSQL的两个核心模型Google的BigTable106NoSQL技术分类Key-value一个Key对应一个Value,能提供非常快的查询速度、大的数据存放量和高并发操作,非常适合通过主键对数据进行查询和修改等操作RedisBerkeleyDBKyotoCabinet/Tycoon列式存储按列存储数据,最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势

HbaseCassandra文档结构结构和Key-value非常相似,也是一个Key对应一个Value,但是这个Value主要以JSON或者XML等格式的文档来进行存储,是有语义的。可以对某些字段建立索引,实现关系数据库的某些功能。MongoDBCouchDB图式存储以图论为基础Neo4JNoSQL技术分类Key-value107简介Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。Google的很多项目使用Bigtable存储数据,包括Web索引、GoogleEarth、GoogleFinance等。数据模型Bigtable是一个稀疏的、分布式的、持久化存储的多维度排序Map。Map的索引是行关键字、列关键字以及时间戳;Map中的每个value都是一个未经解析的byte数组NoSQL——BigTable特点适合大规模海量数据,PB级数据;分布式、并发数据处理,效率极高;易于扩展,支持动态伸缩;适用于廉价设备;适合于读操作,不适合写操作;不适用于传统关系数据库;简介NoSQL——BigTable特点108简介HadoopDatabase,HBase是GoogleBigtable的开源实现,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。数据模型类似GoogleBigtable利用GFS作为其文件存储系统,HBase利用HadoopHDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用HadoopMapReduce来处理HBase中的海量数据;GoogleBigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。NoSQL—Hbase底层数据存储基于HDFS高可用,高性能列存储,多版本百亿行×百万列×上万个版简介NoSQL—Hbase底层数据存储基于HDFS109简介:一个开源的使用C语言编写、支持网络、可基于内存也可持久化的key-value存储系统,仅有一万行代码。从2010年3月15日起,Redis的开发工作由VMware主持。NoSQL——Redis速度快:C语言、数据加载到内存持久化:数据保存到内存的同时,还可以同步到磁盘上数据结构:支持五种数据结构支持多

温馨提示

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

评论

0/150

提交评论