资源预览内容
第1页 / 共142页
第2页 / 共142页
第3页 / 共142页
第4页 / 共142页
第5页 / 共142页
第6页 / 共142页
第7页 / 共142页
第8页 / 共142页
第9页 / 共142页
第10页 / 共142页
亲,该文档总共142页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
云计算系统关键技术,冯丹,总体介绍,目的: 通过对分布式、虚拟化和云平台等技术的讲解,让学生了解或掌握云计算系统的一些关键技术,并理解 “分布式”、“虚拟化”和“通过定制技术,形成服务封装”等思想。 内容: 3.2节(分布式技术): 从分布式系统、分布式计算、分布式存储等3个方面的分布式技术 3.3节(虚拟化技术):介绍虚拟化的基本概念,并从计算虚拟化、存储虚拟化、网络虚拟化和桌面虚拟化等4个方面分析虚拟化的技术细节 3.4节(云平台技术):介绍了服务计算、多租户以及容器等核心技术,总体介绍,知识点: 分布式技术和虚拟化技术 云平台的技术发展状况 服务计算、多租户以及容器技术 课时安排 3.2节(分布式技术):建议1.5个课时 3.3节(虚拟化技术):建议1.5个课时 3.4节(云平台技术):建议1个课时 实践课:建议4个课时,实践课安排,实验题目:(见3.2.2小节后的思考题) 利用MapReduce方法对输入文件中所有数据按照从小到大的顺序排序 实验目的 熟悉Hadoop平台 通过实验掌握基本的MapReduce编程方法 掌握用MapReduce解决数据排序等常见的数据处理问题 通过操作MapReduce的实验,模仿实验内容,深入理解MapReduce的过程,熟悉MapReduce程序的编程方式 实验平台 操作系统:Ubuntu-16.04 Hadoop版本:2.6.0 JDK版本:1.8 IDE:Eclipse,提纲,分布式技术(3.2节) 虚拟化技术(3.3节) 云平台技术(3.4节),提纲,分布式技术(3.2节) 虚拟化技术(3.3节) 云平台技术(3.4节),分布式技术,分布式系统(3.2.1节) 分布式计算(3.2.2节) 分布式存储/数据管理(3.2.3节),分布式技术,分布式系统(3.2.1节) 分布式计算(3.2.2节) 分布式存储/数据管理(3.2.3节),分布式系统,集中式系统 定义:一个主机带多个终端的系统,整个系统的数据的存储、控制与处理则完全交由主机来完成;每个终端仅负责数据的输入和输出 缺点:由于采用单节点部署,很可能带来系统过大而难于维护、发生单点故障 例子:大学选课时,如果学校的选课系统是部署在基于集中式系统的单机服务器上,所以常常是大家不停刷新页面,也可能挤不进去服务器,导致选不了课,分布式系统,分布式系统 定义:一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。 设计思想:分片 对于计算任务,系统将其进行分割,每个节点计算其中的一部分内容,然后将所有的计算结果进行汇总; 对于存储任务,每个节点存储其中的一部分数据。 分片的好处: 提升系统的性能和并发度,操作被分发到相互独立的不同分片上; 提升系统的可用性,即使其中的部分分片不能用,其他的分片也不会受到影响。,分布式系统,分布式系统的特点,低成本:满足需求的单一大型机的价格往往造价高昂令人难以承受,人们发现使用多台普通甚至廉价的计算机组成的分布式系统也可以完成同样的任务。,低成本,分布式系统,分布式系统的特点,高性能:分布式系统拥有单个大型集中式系统所不能达到的性能。 比如淘宝网,每天有千万甚至上亿的用户同时访问,此时单一大型机远远无法承载如此多的访问量。,低成本,高性能,分布式系统,分布式系统的特点,多用户:分布式系统是由大量的机器组成的,这些机器不仅可以共同用来完成一个任务,也可以分解开来用来完成多个用户的多个任务。,低成本,高性能,多用户,分布式系统,分布式系统的特点,分布式:分布式系统中的计算机在地理空间上的分布几乎没有任何限制可能部署在不同的城市、国家甚至大洲。另外,由于一些应用本身是分布式的,所以它们更适合运行于分布式系统上。,低成本,高性能,多用户,分布式,分布式系统,分布式系统的特点,协同工作:协同工作即一组相互之间在物理上距离较远的人员可以一起进行工作。 例如,位于全国各地的多个游戏玩家使用自己的计算机在网络上进行实时游戏。,低成本,高性能,多用户,分布式,协同工作,分布式系统,分布式系统的特点,高可靠性:分布式系统把工作负载分散到众多的机器上,当出现单台机器发生故障时,其它机器不会受到影响。,低成本,高性能,多用户,分布式,协同工作,高可靠,分布式系统,分布式系统的特点,高可扩展性:相比于单一机器,采用分布式系统,在需求增多的时候,公司仅仅需要在系统中增加一些机器就可以了,几乎无额外开销。,低成本,高性能,多用户,分布式,协同工作,高可靠,高可扩展,分布式技术,分布式系统(3.2.1节) 分布式计算(3.2.2节) 分布式存储/数据管理(3.2.3节),分布式计算,场景:航空公司的网页广告精准投送的场景,19,广告推送,大量数据进行实时分析,分布式计算,直观解决方案: 用并行分布的方式来对这些数据进行处理。也就是通过交换机将大量计算机连接成集群来进行大规模并行计算。 需解决的问题: (1)如何将计算任务分布到计算节点机上? (2)怎样更简单、高效的进行分布式编程?,分布式计算,定义: 分布式计算技术是研究如何把一个需要海量计算能力的任务分成许多小的任务,然后把这些小的任务分配给大量的计算机进行处理,最后通过综合这些计算结果来得到最终的结果。 特点:,可通过将计算均匀分布在多台计算机上来平衡计算负载,分布式计算,定义: 分布式计算技术是研究如何把一个需要海量计算能力的任务分成许多小的任务,然后把这些小的任务分配给大量的计算机进行处理,最后通过综合这些计算结果来得到最终的结果。 特点:,计算资源可以被多个用户共享,分布式计算,定义: 分布式计算技术是研究如何把一个需要海量计算能力的任务分成许多小的任务,然后把这些小的任务分配给大量的计算机进行处理,最后通过综合这些计算结果来得到最终的结果。 特点:,可适配最佳的运行环境,针对程序特性与需求将其放在最适合的机器上来运行,分布式计算,商业应用解决方案之一:MapReduce 功能:MapReduce是Hadoop中用来在集群上使用并行、分布式算处理和生成大数据集的软件框架。 结构:MapReduce程序是由映射(Map)函数和归约(Reduce)函数组成 映射:映射函数执行过滤和排序,比如对学生按姓名顺序进行排序。 归约:归约方法则是执行一个汇总操作,比如计算每个队列中的学生数,以及姓名出现的频率。,分布式计算,商业应用解决方案之一:MapReduce 流程举例:对“My name is Ann”和“My name is Bob”这两句话进行词频统计。,分布式计算,商业应用解决方案之一:MapReduce 架构:主从架构,包括客户端、作业跟踪器、任务跟踪器和任务,分布式计算,商业应用解决方案之二:Spark 动机:对于大数据处理,MapReduce的计算量非常大,计算速度不够快。 概念: Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,它以其先进的设计理念,迅速成为大数据社区的热门项目。 在广告业务方面,大数据应用分析、效果分析、定向优化等; 在推荐系统方面,大数据优化相关排名、个性化推荐以及热点点击分析等。,分布式计算,商业应用解决方案之二:Spark 优点(和MapReduce相比):,Spark把中间数据存放于内存中,使得迭代运算的效率提升。MapReduce中计算结果需要保存到磁盘上,这样势必会影响整体速度。,分布式计算,商业应用解决方案之二:Spark 优点(和MapReduce相比):,Spark引进了弹性分布式数据集(Resilient Distributed Dataset, RDD),它是分布在一组节点中的只读对象的集合,这些集合是弹性的,如果数据集中的一部分丢失,则可以根据“血统”(即基于数据衍生过程)对它们进行重建。,分布式计算,商业应用解决方案之二:Spark 优点(和MapReduce相比):,Spark提供了多种数据集的操作类型,而不像Hadoop的MapReduce只提供了映射和归约两种操作。Spark的操作类型大致可以分为:转换(Transformations)和动作(Actions)两大类,转换包括映射、过滤、取样等操作;动作包括归约、检索、保存等操作,分布式计算,场景回顾: 针对本节开始提到的广告投放问题的案例,该公司借助Spark的快速迭代的优势,实现了“数据实时采集、算法实时训练、系统实时预测”的实时算法,支持每天上百亿的请求量。 通过对比发现,Spark性能比MapReduce提升很多。交互查询响应快,性能比MapReduce提高若干倍;广告投放计算效率高、延迟小(同Hadoop比延迟至少降低一个数量级),极大的提高的计算性能。,分布式技术,分布式系统(3.2.1节) 分布式计算(3.2.2节) 分布式存储(3.2.3节),分布式存储,存储技术的发展:,Title in here,存储和计算分离,或称之为网络存储系统,分布式存储,是将数据分散存储在多立的设备上,存储是和计算部署在一起,存储作为计算主机的一部分,分布式存储,分布式存储的两大主流技术:,分布式文件系统:主要针对非结构化数据,比如文件,分布式数据库系统:主要针对结构化数据,包括五类数据库存储模型,即行、列、键值、文档、图等。,分布式存储,分布式存储的两大主流技术: 分布式文件系统 分布式数据库系统,分布式存储 - 分布式文件系统,场景:脸书(Facebook)公司的数据存储需求,36,20亿,分布式存储 - 分布式文件系统,历史: 文件系统是操作系统的一部分,起初运行在单机上。随着网络的普及,出现了文件服务器,采用集中的存储服务器存放所有文件数据。分布式应用对文件系统提出了一系列挑战,逐渐采用分布式系统而不是集中式系统进行文件管理 概念: 分布式文件系统(Distributed File System,DFS)的设计基于客户机/服务器模式,存储在其中的数据被分为很多块,这些块分布于通过网络连接的不同的服务器中,供多个用户进行读写删除等操作。,分布式存储 - 分布式文件系统,一致性问题: 如何在多个分布化的存储节点之间保证节点存储的信息是一致的、节点工作步伐是一致的、节点状态是一致的、以及节点间互相协调有序的工作。 举例:银行转账,扣减掉转出一方账户上的余额,然后增加转入一方账户的余额: 如果扣减账户余额成功,但增加对方账户余额失败,那么转出一方就会损失这笔资金。 如果扣减账户余额失败,增加对方账户余额成功,那么银行就会损失这笔资金。,分布式存储 - 分布式文件系统,一致性问题: 如何在多个分布化的存储节点之间保证节点存储的信息是一致的、节点工作步伐是一致的、节点状态是一致的、以及节点间互相协调有序的工作。 ACID原理:,A: Atomicity,原子性,C: Consistency,一致性,I: Isolation,隔离性,D: Durability,持久性,保证每个事务是原子的,或者成功或者失败,事务间是隔离的,互相完全不影响,最终状态是持久的写入硬盘中的,存储系统会从一个明确的状态到另外一个明确 的状态,中间临时状态不会出现,因此是一致的。,分布式存储 - 分布式文件系统,一致性问题: 如何在多个分布化的存储节点之间保证节点存储的信息是一致的、节点工作步伐是一致的、节点状态是一致的、以及节点间互相协调有序的工作。 CAP原理:,C: Consistency 一致性,A:Availability 可用性,P:Partition tolerance 分区容忍性,在分布式系统中所有数据备份,在同一时刻具有同样的值,所有节点在同一时刻读取的数据都是最新数据的副本,好的响应性能,服务在有限的时间内完成响应,网络上有部分数据丢失,但系统仍然可以继续工作,分布式存储 - 分布式文件系统,一致性问题: 如何在多个分布化的存储节点之间保证节点存储的信息是一致的、节点工作步伐是一致的、节点状态是一致的、以及节点间互相协调有序的工作。 CAP原理: 在分布式系统中,对于这C、A、P这三者不能同时满足,简而言之就是: 1
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号