云计算期末考试知识点

第2章

1.Google云计算技术包括哪些内容? 答题要点:(P13)要答出有关技术的分类和名称。
答: Google云计算技术包括:Goge分布式文件系统GFS,分布式计算编程模型 MapReduce, 分布式锁服务 Chubby,分布式结构化数据表 Bigtable,分布式存储系统 Megastore,分布式 监控系统 Dapper,数据交互分析工具 Dremel和 PowerDril,等等。
2.当前主流分布式文件系统有哪些?各有什么优缺点? 答题要点:(P13)此题的问法有些不完整,题义应该是问传统分布式文件系统的实现方法与 Google的分布式文件系统GFS的区别
答: Redhat、IBM、Sun等公司都有分布式文件系统的解决方案,这些解决方案依靠RAD技术、SAN存储区域网来容错(是基于硬件的容错),对构建分布式文件系统的硬件有较高的 要求,存储成本高。 Google的GFS是使用软件的方式,在文件系统上实现容错,可以使用廉价的机器构建,存储成本低。相对于传统的分布式文件系统, Google的GFS分布式文件系统的容错性能在可靠性和存储成本上都具有优势。
3.GFS采用了哪些容错措施来确保整个系统的可靠性? 答题要点:(P16-17)除了要把容错技术的名称答出来以外,还要简单说明机理。
答: Google的GFS采用的容错机制可以分为: (1) Master容错。 Master上保存着GFS的元数据(包括命名空间(Name)和 Chunk映射表等),这些元数据 及 Master的操作日志保存在磁盘中, Master出错时而磁盘数据完好时,可以通过磁盘数据 恢复 Master GFS对 Master进行远程实时备份,如果 Master彻底死机,另外一台 Master可以迅速接替其 工作。 (2) Chunk Server容错。 Chunk是GFS的数据块,一个 Chunk默认存储3个位于不同 Chunk Server的副本, Master 会检查 Chunk的副本数,在出现 Chunk副本丢失或不可恢复时, Master自动将该副本复制 到其他 Chunk Server。 另外, Chunk以文件的形式保存在 Chunk server, Chunk文件以Bock(64K)来划分,每一 个 Block对应一个32位的校验和, Chunk Server会检査数据和检验和,如果不匹配就返回错误。
4.MapReduce与传统的分布式程序设计相比有何优点? 答题要点:(P18)
答: MapReduce封装了并行处理、容错处理、本地化计算、负载均衡等细节,还提供了个简单而强大的接口。通过这个接口,可以把大尺度的计算自动地并发和分布执行,使编程变得非常容易。另外,MapReduce也具有较好的通用性,大量不同的问题都可以简单地通过MapReduce来解决。
5.Chubby的设计目标是什么? Paxos算法在 Chubby中起什么作用? 答题要点:(P24-27)
答: Chubby的设计目标主要有:(1)高可用性和高可靠性。(2)高扩展性。(3)支持粗粒 度的建议性锁服务。(4)服务信息的直接存储。(5)支持通报机制。(6)支持缓存机制。 Paxos算法在 Chubby中起到保证副本之间数据一致的作用( Chubby cel(单元)中的所有副 本都要保持完全一致)
6.阐述 Bigtable的数据模型和系统架构。 答题要点:(P33-39)
答: Bigtable的数据模型是一个多维映射表,通过行关键字、列关键字和时间戳进行索引(定 位数据):(1)行。行关键字用于标识Bigtable中不同的行,可以是任意字符串,大小不能超过64KB。Bigtable中的数据是通过行关键字按字典序进行排序的。(2)列。Bigtable中的 列,以列族进行组织,一个列关键字以“族名:列名”的形式表示,每个列族中的列属于同 种数据类型,并且访问控制( Access Control)是在列族上进行定义的。(3)时间戳。用于在区别 Bigtable中数据的版本,同一个行、列定位的数据,可以根据设置保存具有不同时间戳 的数据值。 Bigtable主要由三个部分组成:主服务器 Master server、子表服务器 Tablet Server和客户端 程序库( Client Library)。主服务器主要进行一些元数据操作以及子表服务器之间的负载调度 问题,子表服务器则以子表的形式(通过GFS以 SSTable类型文件)保存 Bigtable的数据, 个子表服务器负责存储若干个(通常100个左右)子表。访问 Bigtable服务需要使用 Bigtable 的客户端。
7.分布式存储系统 Megastore的核心技术是什么? 答题要点:(P47)
答: Megastore最核心的技术是复制。
8.大规模分布式系统的监控基础架构 Dapper关键技术是什么? 答题要点:(P56) 答: Dapper关键技术主要有两个方面:(1)轻量级的核心功能库。 Dapper的监控过程基本 对应用层透明。(2)二次抽样技术。利用二次抽样技术成功解决了低开销及广泛可部署性的 问题。
9.相比于行存储,列存储有哪些优点? 答题要点:(P62)
答:相对于行存储,列存储以属性为单位,每次存储一个属性。列存储的主要好处在于处理 时只需要使用涉及的列数据,且列存储更有利于数据的压缩。
10.为什么 MapReduce不适合实时数据处理? 答题要点:(P61)
答: MapReduce是一种面向批处理的框架,在编写完成代码后,要提交到集群运行后才能 验证代码的正确性。如果代码有误需要修改,则需要返利修改一一运行—一验证。这种数据 探索( Data Exploration)的方式比较耗时。而传统的SQL查询则是交互式的,用户提交完自 己的请求后就可以在相对可以接受的时间内得到返回结果。
11.简单阐述 Dremel如何实现数据的无损表示。 答题要点:(P64)原理较复杂,简单说明一下就好。
答: Dreme采用嵌套模型,采用列存储,因此需要把存储的数据进行重组才能还原为记录 的形式。 Dreme的每一列会被存储为块的集合,每个块又包含重复深度和定义深度,根据 重复深度和定义深度确定相应块的字段值属于哪条记录的哪个字段。
12.Power Dril能实现高效的数据处理,在存储部分主要依赖哪两方面的技术? 答题本点:(P72)
答: PowerD实现高效数据处理在存储部分主要依赖:(1)列式存储。(2)内存计算。
13.Google App Engine提供了哪些服务? 答题要点:(P80-88)
答: Google App Engine提供了哪些服务包括:(1)图像操作APl(2)邮件AP。(3) Memcache AP。(4)用户AP。(5)数据库AP|。
14.Google App Engine的沙盒对开发人员有哪些限制? 答题要点:(P79)
答:沙盒将用户应用程序隔离在自身的安全可靠的环境中,该环境和网络服务器的硬件、系统及物理位置完全无关,并且沙盒仅提供对基础操作系统的有限访问权限。

第3章 Amazon云计算AWS 重点知识点

1、AWS提供的服务主要包括有哪些(P90,名称和作用);
2、Dynamo在AWS里的地位和作用(P90,基础存储架构);
3、 Dynamo架构(P91-98,特点:节点无中心环状分布,图3-5,图3-9,DHT、 Gossip协议 在其中发挥的作用);
4、EC2架构(P99-100,图3-11);
5、S3的基本结构(P103-104,图3-15);
6、非关系数据库与传统关系数据库的比较(P108);
7、RDS架构的特点(P111,图3-21,图3-22, Share-Nothing);
8、SQS的消息采样机制(P114,图3-24);
9、CDN机制的原理(P116-117,图3-26,图3-27);
习题参考答案:
1.在 Dynamo中添加一个新的节点时,原告各节点保存的数据是否需要改变?如果改变, 应该如何变化? 答案要点:(P92)
答:在 Dynamo中添加一个新的节点时,会使新节点的前驱节点保存的数据发生改变,原存 储在前驱节点上的部分数据会迁移到新节点上。而其他节点保存的数据不变。 同样,在删除节点时,被删除节点的数据会迁移到其前驱节点上,而对其他节点没有影响。
2.Merkle哈希树的创建需要较大的时间开销。频繁地重建 Merkle树会对系统造成很大的负担。假设 Merkle树的叶子节点表示的是数据分区的Hash值,请设计一个 Merkle树重建方 案,尽量减少 Merkle树的重建工作。 答案要点:(P9798)就是回答 Dynamo中永久性故障处理,如磁盘损坏等情况,需要重建 节点数据时,如何加快检测和减少数据传输量的机制。
答:把Merkle哈希树设计为二叉树或多叉树,其中每个节点叶子节点的值为单个数据文件 的哈希值,非叶子节点的值为该节点所有子节点组合后的哈希值。当采用 Merkle哈希树检 测数据是否一致时,可先比较根节点的值,如果值相同则说明所有数据一致,否则需要继续 比较,直到哈希值不同的叶子节点。这种方法可以快速地进行数据对比,检测数据的一致性, 并大大减少了需要传输的数据量,提高了系统效率。
3.私有IP、公有IP和弹性IP的区别在哪里? 答案要点:(P101-103)
答:EC2的IP地址包括三大类:私有IP、公有IP和弹性P。EC2的实例一旦被创建,就会 动态地分配两个IP地址,即私有护P和公有IP。私有IP地址与实例相对应,由动态主机配置 协议(DHCP)分配产生。公有IP地址和私有IP地址之间通过网络地址转换(NAT)技术实 现相互之间的转换,实例通过这个公有IP地址和外界通信,实例每次启动时,公有IP都会 发生变化。弹性IP则是与用户账号绑定,使用时可以代替公有IP通过NAT的方式实现与私有IP转换,从而连接到EC2实例
4.地理区域和可用区域有哪些区别? 答案要点:(P100-101)
答:AWS中采用了两种区域(Zone),地理区域( Region Zone)和可用区域( Availability Zone) 地理区域是按实际的地理位置划分的。可用区域是根据是否有独立的供电系统和冷却系统划 分,通常将每个数据中心看作一个可用区域。EC2系统中包含多个地理区域,而每个地理区 域又包含多个可用区域。
5.简单存储服务S3与传统的文件系统有哪些区别? 答案要点:(P103-105)教材上没有直接给出答案,应该对比传统的文件系统的原理和特点来说明其区别
答:简单存储服务S3与传统的文件系统的区别有以下几个方面:(1)S3构架在 Dynamo上, 本身就具有分布式的特点,是容错的存储系统;(2)S3存储内容的分层结构与传统文件系 统不同,是以桶( Bucket)和对象( Object)作为其基本结构;(3)S3对数据内容的附加描 述信息可以是系统默认的元数据,也可以是用户指定的自定义元数据,而传统的文件系统则不具有这种灵活性。
6.简单阐述SQS在Amazon云计算中的作用。 答案要点:(P113)
答:由于想要构建一个灵活且可扩展的系统,低耦合度是很必要的。AWS中的各个组件就 是这样的一个低耦合度的系统,系统中的各个组件关联度很低,可以根据系统需要随时从系 统中增加或删除某些组件。组件之间的通信,就是由SQS解决的。SQS实现了AWS组件之 间安全、高效的通信,是云计算平台各个组件之间沟通的桥梁。
7.如何理解传统数据库在可扩展性方面的能力较弱? 答案要点:(P108)教材上没有直接给出答案,但可以根据基于分布式结构的数据库与传统数据库的区别进行分析
答:数据库的扩展,可以从存储能力和处理能力两个方面考虑。传统数据库系统如果需要扩 展存储能力,则需要迁移到空间更大的物理存储设备上(如更换更大的磁盘,等等);如需 要扩展处理能力,则需要把系统迁移到计算能力、数据吞吐能力更强的计算机上。这些迁移 工作,对于分布式系统的扩展只需要把服务器增加到集群中而言,是困难得多的工作。因此, 相比分布式系统,传统数据库在可扩展性方面的能力较弱。
8.非关系数据库是如何解决可扩展性问题的? 答案要点:(P108)应该要答出分布式系统的基本原理和特点
答:非关系数据库是建立在分布式文件系统(如GFS、 Dynamo等)的基础上的,而分布式 文件系统本身就是可扩展、容错的,因此,非关系数据库也具备这样的特性。另外,非关系 数据库还可以把表格划分成更小的部分(如:域),并通过散列把这些更小的部分分配到不同的元数据服务器进行管理,同时实现了负载均衡和横向可扩展性。
9.简述 Share- Nothing架构的特点。 答案要点:(P111)AWS关系数据库服务的架构特点。
答: Share- Nothing架构,即每台数据库服务器都是完全独立的计算机系统,通过网络相连, 不共享任何资源。当数据库处理能力不足时,可以通过增加服务器数量来提高处理能力,同 时也可以增加数据库的并发访问能力。把一张大表按归业务特点的需要,划分成多个小表, 分别存储到互不共享的独立服务器上。这个划分工作是要由人来开展的,对设计人员的要求 很高。
10.简述AWS如何支持在线数据流应用。 答案要点:(P130)
答: Amazon kinesis是AWS的数据流服务,用于实时地处理快速流转的数据,它可以调集弹 性网络服务来处理单一或分布式的大容量数据库,适用于网站点击、金融信息分析、社交媒 体、运行日志等大规模数据传输和事务处理应用。
11.描述一下基于 Amazon Aws的应用实例。 答案要点:(P130132) 答: SmugMug、 Animoto、Aexa三个实例中的一个。(内容略)

第4章微软云计算 Windows Azure 重点知识点:

1、微软云计算平台的体系结构及组成部分(P136-137,图4-1);
2、Windows azure计算服务所支持的虚拟机类型(P139,图4-3, Web role、 Worker role、 VM Role)
3、Windows azure存储服务所支持的数据类型(P140,图44,Bobs、 Tables、 ueues、Fies)
4、Windows azure cdn的信息访问(P148,图49);
5、SQL Azure数据同步技术(P152-153,图4-13,“轮辐式”模型);
6、SQL Azure和 SQL Server的区别(P153-154);
7、AppFabric的关键技术(P155-159,总线服务、访问控制、高速缓存)
习题参考答案
1.微软云计算平台包含几部分?每部分的作用是什么? 答案要点:(P136-137)
答:微软云计算平台包含4个部分:(1) Windows Azure。位于云计算平台的最底层,提供 一个在微软数据中心服务器上运行应用程序和存储数据的 Windows环境。(2) SQL Azure 云关系数据库,提供类似于 SQL Serer的云关系型数据库。(3) Windows Azure AppFabric。 为云中或本地系统中的应用程序提供基于云的基础架构服务。部署和管理云基础架构。(4) Windows Azure Marketplace。为购买云计算环境下的数据和应用提供在线服务。
2.Windows Azure存储服务提供了几种类型的存储方式?阐述每种存储方式主要的存储对象 答案要点:(P140)
答: Windows azure存储服务提供了4种主要的数据存储结构:(1)Blob数据类型存储二进 制数据,可以存储大型的无结构数据,容量巨大,能够满足海量数据存储需求;(2) Table 数据类型能够提供更加结构化的数据存储,但是它不同于关系数据库管理系统中的二维关系表,査询语言也不是SQL;(3)queue类型与微软消息队列(MSMQ)相近,用来支持在 Windows azure应用程序组件之间进行通信;(4)File类型使用标准SMB21(服务器信息 块协议,是一种IBM协议,用于在计算机间共享文件、打印机、串口等)协议提供文件共 享,可以在应用程序和虚拟机之间共享文件。
3.阐述 Web role实例和 Worker role实例之间的通信机制。 答案要点:(P139)先答两种实例的特点,再答通信机制。
答:(1)每个 Web Role实例都提前在内部安装了ⅢS7,可以很方便地创建Web应用程序。 (2) Worker role实例内部没有安装ⅢS7, Worker role设计用来运行各种各样的基于 Windows 的代码,比如运行一个模拟、进行视频处理等。(3)应用通过 Web role实例与用户进行交 互,然后利用 Worker role实例进行任务处理。
4.SQL Azure数据同步技术主要有几种?分别如何实现? 答案要点:(P152-153)先回答SQL Azure数据同步的涵义与作用,再回答 SQL Azure数据同步技术的种类和实现
答:为了提高存储数据的访问性能,同时确保网络发生故障时应用仍能够访问数据库,需要 在本地拥有SQL Azure的数据库副本,因此需要使用 SQL Azure数据同步技术。 SQL Azure数据同步技术主要包括两种:(1) SQL AZure数据库与 SQL Server数据库之间的数据同步;(2) SQL Azure数据库之间的同步,可以在全球的不同数据中心进行同步。 SQL Azure数据同步使 用“轮幅式(hub-and- spoke)”模式,所有的变化将会首先被复制到“hub”(必须是 SQL AZure 数据库)上,然后再传送到其他“ spoke”(可以是 SQL Azure数据库,也可以是本了 SQL Server 数据库)上。 SQL Azure数据同步的过程可以同步整个数据库,也可以只同步有更新的数据库表格。
5.阐述 SQL Azure和 SQL Server的相同点和不同点 答案要点:(P153-154)着重在于不同点,要简单说明一下各不同点。
答:相同点:都是关系数据库,都支持 Transact-SQL。不同点:(1)物理管理方面。 SQL AZure 的物理资源是自行管理的, SQL AZure不能使用 SQL Server的备份机制。(2)服务提供方面 SQL Server在使用时需要准备软件和硬件,并要进行安装和配置; SQL Azure的这些工作都由 SQL Azure服务程序来完成。(3) Transact-SQL支持方面。 SQL Server可以支持 Transact-SQL 的关于指定文件组或物理文件路径的参数,而 SQL AZure并不支持这些参数。(4)特征和数据类型方面。 SQL Azure不能支持 SQL Server所有的特征和数据类型。
6.AppFabric高速缓存技术是如何实现的? 答案要点:(P155-158)先答高速缓存的涵义,再简述其实现
答:应用程序在很多情况下需要重复访问存取同一个数据,为提升数据的访问效率,可以缓 存这些经常被访问的信息,减少查询数据库的次数。 AppFabric高速缓存提供了一种服务, 实现了这样的功能。 AppFabric高速缓存为 Windows azure应用程序提供了一个分布式缓存, 如果Windows azure应用程序需求的数据不在本地缓存中,则会连接高速缓存服务,从高速 缓存读取数据并更新本地缓存。
7.利用 Visual studio2010开发一个简单的应用程序,并将其部署到 Windows azure平台上 8. Windows azure是如何支持大数据处理的? 答案要点:(P164)
答: Windows azure支持 Hadoop服务来进行大数据处理。可以使用 Windows azure提供的 虚拟机运行 Hadoop集群,并在集群上使用 MapReduce等工具对大数据进行处理。 Windows Azure的 Hadoop集群可以使用Blob存储数据。

第5章 Hadoop2.0:主流开源云架构 重点知识点:

1、 Hadoop2.0体系架构(P182,包括HDFS、Yarn、 Common)
2、HDFS的体系架构(P184-186,图5-7,图5-8,图5-9, NameNode、 DataNode角色及其 作用);
3、Yan的体系架构(P190-193,图5-11,图5-12,图5-13, Resource Manager、 Node Manager、 container、 ApplicationMaster之间的关系)。
习题参考答案:
1.简述 Hadoop1.0与 Hadoop2.0的优缺点,并比较二者区别与联系。答案要点:在教材上并无直接答案,主要要说明其区别。
请参考http://blog.csdnnet/u012050154/article/details/52353545
答: Hadoop20是对 Hadoop10的发展与完善 其区别有: (1)从 Hadoop整体框架来说 Hadoop1.0即第一代 Hadoop,由分布式存储系统HDFS和分布式计算框架 MapReduce组成 其中HDFS由一个 NameNode和多个 DateNode组成, MapReduce由一个 Job tracker和多个 TaskTracker组成。 Hadoop2.0即第二代 Hadoop为克服 Hadoop1.0中的不足:针对 Hadoop10单 NameNode制 约HDFS的扩展性问题,提出 HDFS Federation,它让多个 NameNode分管不同的目录进而实 现访问隔离和横向扩展,同时彻底解决了 NameNode单点故障问题;针对 Hadoop10中的 MapReduce在扩展性和多框架支持等方面的不足,它将 JobTracker中的资源管理和作业控制 分开,分别由 ResourceManager(负责所有应用程序的资源分配)和 Application Master(负 责管理一个应用程序)实现,即引入了资源管理框架Yarn。同时Yarn作为 Hadoop2.0中的 资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度,不 仅限于 MapReduce一种框架,也可以为其他框架使用,如Tez、 Spark、 Storm等 (2)从 MapReduce计算框架来讲 MapReduce1.0计算框架主要由三部分组成:编程模型、数据处理引擎和运行时环境。它的 基本编程模型是将问题抽象成Map和 Reduce两个阶段,其中Map阶段将输入的数据解析 成key/vaue,迭代调用map(函数处理后,再以key/alue的形式输出到本地目录, Reduce 阶段将key相同的 value进行规约处理,并将最终结果写到HDFS上;它的数据处理引擎由 Map Task和 Reduce Task组成,分别负责Map阶段逻辑和 Reduce阶段的逻辑处理;它的运行 时环境由一个 Job Tracker和若干个 TaskTracker两类服务组成,其中 Jobtracker负责资源管理 和所有作业的控制, TaskTracker负责接收来自 JobTracker的命令并执行它。 MapReduce2.0具有与MR√1相同的编程模型和数据处理引擎,唯一不同的是运行时环境。 MR2是在MRⅥ1基础上经加工之后,运行于资源管理框架Yarn之上的计算框架 MapReduce。 它的运行时环境不再由 Job Tracker和 TaskTracker等服务组成,而是变为通用资源管理系统 Yarn和作业控制进程 Application Master,其中Yarn负责资源管理的调度而 Application Master 负责作业的管理。
2.简述解压包方式部署 Hadoop的弊端 答案要点:(P175)
答:使用解压包方式部署 Hadoop,要求用户对unuw较为熟悉,在逐个解压、配置 Hadoop 组件的过程中,步骤较多,烦琐且容易出错。
3.简述 Hadoop2.0安全机制,试分析其优缺点。 答案要点:(P198)简述机制就可,优缺点不需要分析 请参考:htt:/ dongcheng. org/ mapreduce- nextgen/ hadoop-yarn-security.
答:系统安全机制由认证( authentication)和授权 authorization两大部分构成。认证就是简单 地对一个实体的身份进行判断;而授权则是向实体授予对数据资源和信息访问权限的决策过 程。 Hadoop20中的认证机制采用 Kerber和 Token两种方案,而授权则是通过引入访问控 制列表( Access Control list,ACL)实现的。 在 Hadoop20中, Client与 NameNode和 Client与 ResourceManager之间初次通信均采用了 Kerberos进行身份认证,之后便换用 Delegation Token以较小开销,而 DataNode与 NameNode 和 NodeManager与 ResourceManager之间的认证始终采用 Kerberos机制。 Hadoop YARN的授权机制是通过访问控制列表(ACL)实现的,按照授权实体,可分为队列 访问控制列表、应用程序访问控制列表和服务访问控制列表
4.简述Yarn编程过程,再简述MR编程过程,说明二者有何关系。 答案要点:(P205)简述Yarn的编程模型即可。
答:Yarn是一个资源框架,由RM( Resource Manager)和NM( Node Manager)组成,RM 和NM不参与计算逻辑,计算逻辑代码由 Application Master和 Client实现,具体计算则由 Application Master和 Container完成。 在资源框架中,RM负责资源分配,NM负责管理本地资源。在计算框架中, Client负责提交。

你可能感兴趣的:(读书笔记)