1、1.云计算是对(D)技术的发展与运用A.并行计算B网格计算C分布式计算D三个选项都是2.IBM在2007年11月退出了“改进游戏规则”的(A)计算平台,为客户带来即买即用的云计算平台。 A.蓝云B.蓝天C.ARUZED.EC23.微软于2008年10月推出云计算操作系统是(C)A.GoogleAppEngineB.蓝云C.AzureD.EC24.2008年,(A)先后在无锡和北京建立了两个云计算中心A.IBMB.GoogleC.AmazonD.微软5.将平台作为服务的云计算服务类型是(B)A.IaaSB.PaaSC.SaaSD.三个选项都不是6.将基础设施作为服务的云计算服务类型是(A)A.I
2、aaSB.PaaSC.SaaSD.三个选项都不是7.IaaS计算实现机制中,系统管理模块的核心功能是(A)A.负载均衡B监视节点的运行状态C应用APID.节点环境配置8.云计算体系结构的(C)负责资源管理、任务管理用户管理和安全管理等工作A.物理资源层B.资源池层C.管理中间件层D.SOA构建层9.云计算按照服务类型大致可分为以下类(A、B、C)A.IaaSB.PaaSC.SaaSD.效用计算10.下列不属于Google云计算平台技术架构的是(D)A.并行数据处理MapReduceB.分布式锁ChubbyC.结构化数据表BigTableD.弹性云计算EC211.在目前GFS集群中,每个集群包含
3、(B)个存储节点 A.几百个B.几千个C.几十个D.几十万个12.下列选项中,哪条不是GFS选择在用户态下实现的原因(D)A.调试简单B.不影响数据块服务器的稳定性 C.降低实现难度,提高通用性D.容易扩展13.GFS中主服务器节点存储的元数据包含这些信息(BCD)A.文件副本的位置信息B.命名空间 C.Chunk与文件名的映射D.Chunk副本的位置信息14.单一主服务器(Master)解决性能瓶颈的方法是(ABCD)A.减少其在数据存储中的参与程度B.不适用Master读取数据C.客户端缓存元数据D.采用大尺寸的数据块15.(B)是Google提出的用于处理海量数据的并行编程模式和大规模数
4、据集的并行运算的软件架构。 A.GFSB.MapReduceC.ChubbyD.BitTable16.Mapreduce适用于(D)A.任意应用程序B.任意可在windowsservet2008上运行的程序C.可以串行处理的应用程序D.可以并行处理的应用程序17.MapReduce通常把输入文件按照(C)MB来划分 A.16B32C64D12818.与传统的分布式程序设计相比,Mapreduce封装了(ABCD)等细节,还提供了一个简单而强大的接口。A.并行处理B.容错处理C.本地化计算D.负载均衡19.(D)是Google的分布式数据存储于管理系统A.GFSB.MapReduceC.Chub
5、byD.Bigtable20.在Bigtable中,(A)主要用来存储子表数据以及一些日志文件A.GFSB.ChubbyC.SSTableD.MapReduce21.GoogleAPPEngine使用的数据库是(C)A.改进的SQLServerB.Orack C.Datestore D.亚马逊的SimpleDB22.GoogleAPPEngine目前支持的编程语言有(AD)A.Python语言B.C+语言C.汇编语言D.JAVA语言23.亚马逊AWS采用(A)虚拟化技术 A.未使用B.Hyper-VC.VmwareD.Xen24.亚马逊将区域分为(AC)A地理区域B不可用区域C可用区域D隔离区
6、域25.下面选项属于Amazon提供的云计算服务是(ABC)A. 弹性云计算EC2B简单存储服务S3c简单队列服务SQSD.Net服务26.不属于弹性计算云EC2包含的IP地址的是(C)A.公共IP地址B.私有IP地址C.隧道IP地址D.弹性IP地址27.在EC2的安全与容错机制中,一个用户目前最多可以创建(B)安全组。A.50B.100C.150D.20028.EC2常用的API包含下列哪些类型的操作(ABCD)A.AMIB.安全组C实例D弹性IP地址29.S3的基本存储单元是(B) A.服务B.对象C.卷D.组30.S3采用的专门安全措施是(AB)A.身份认证B.访问控制列表C防火墙D防木
7、马病毒技术31.在云计算系统中,提供“云端”服务模式是(D)公司的云计算服务平台。A.IBMB.GOOGLEC.AmaxonD.微软32.下列四种云计算方案中,服务间的耦合度最高的是(C)A.亚马逊AWSB.微软AZUREC.GoogleAPPEngineD.IBM的“蓝云”33.云格可以完成的服务有(ABCD)A.数据处理服务B.格处理服务C.高性能计算服务D.协作服务34.亚马逊AWS提供的云计算服务类型是(D)A.IaaSB.PaaSC.SaaSD.三个选项都是35.Google文件系统将整个系统的节点分为(ABC)的角色A.客户端B.主服务器C.数据块服务器D.监测服务器36.Goog
8、le文件系统具有(ABD)特点A.采用中心服务器模式B不缓存数据C.采用边缘服务器模式D在用户态下实现37.Google不缓存数据的原因是(ABCD)A.OFS的文件操作大部门是流式读写;B.维护缓存与实际数据之间的一致性太复杂C.不存在大量的重复读写D.数据块服务器上的数据存取使用本地文件系统38.从研究现状上看,下面不属于云计算特点的是(C)A.超大规模B.虚拟化C.私有化D.高可靠性39.与网络计算相比,不属于云计算特征的是(B)A.资源高度共享B.适合紧耦合科学计算C.支持虚拟机D.适用于商业领域一,填空题 (30分)云计算是以 公开 的标准和 服务 为基础,以 互联网 为中心,提供安
9、全、快速、便捷的数据存储和网络计算服务,让互联网这片云成为每一个网民的数据中心和计算中心。对提供者而言,云计算可以三种部署模式,即 公有云 、 私有云 和混合云 。当前,几乎所有的知名IT 提供商、互联网提供商,甚至电信运营商都在向云计算进军,都在提供相关的云服务。但归纳起来,当前云提供者可以分为三大类,即 SaaS提供商、PaaS 和IaaS 提供商。5. 云计算(Cloud Computing):一种利用 大规模低成本 运算单元通过IP网络连接,以提供各种计算和存储服务的IT技术。二,选择题 (可多选)(50分)1云计算的特点?( ABCDE)A大规模 B. 平滑扩展C资源共享 D. 动态
10、分配 E. 跨地域2宝德存储云解决方案价值有哪些?( ABCD ) A. 海量小文件的高效管理 B. PB级的存储空间和线行扩展能力 C. 可动态提升的性能 D. 数据高可靠性3.目前,选用开源的虚拟化产品组建虚拟化平台,构建基于硬件的虚拟化层,可以选用( BCD )A .Xen B.VMware C. Hyper-v D. Citrix4在云计算中,虚拟层主要包括( ABC )A.服务器虚拟化 B.存储虚拟化C.网络虚拟化 D.桌面虚拟化7.未来云计算服务面向那些客户?( ABCDE )A.个人 B.企业C.政府 D.教育E.研究所8.云安全主要的考虑的关键技术有哪些?( ABC )A.数据
11、安全 B.应用安全 C.虚拟化安全 D.服务器安全 由于云计算分为IaaS、PaaS和SaaS三种类型,不同的厂家又提供了不同的解决方案,目前还没有一个统一的技术体系结构,对读者了解云计算的原理构成了障碍。为此,本文综合不同厂家的方案,构造了一个供商榷的云计算体系结构。这个体系结构如图3所示,它概括了不同解决方案的主要特征,每一种方案或许只实现了其中部分功能,或许也还有部分相对次要功能尚未概括进来。图3 云计算技术体系结构云计算技术体系结构分为4层:物理资源层、资源池层、管理中间件层和SOA构建层,如图3所示。物理资源层包括计算机、存储器、网络设施、数据库和软件等;资源池层是将大量相同类型的资
12、源构成同构或接近同构的资源池,如计算资源池、数据资源池等。构建资源池更多是物理资源的集成和管理工作,例如研究在一个标准集装箱的空间如何装下2000个服务器、解决散热和故障节点替换的问题并降低能耗;管理中间件负责对云计算的资源进行管理,并对众多应用任务进行调度,使资源能够高效、安全地为应用提供服务;SOA构建层将云计算能力封装成标准的Web Services服务,并纳入到SOA体系进行管理和使用,包括服务注册、查找、访问和构建服务工作流等。管理中间件和资源池层是云计算技术的最关键部分,SOA构建层的功能更多依靠外部设施提供。云计算的管理中间件负责资源管理、任务管理、用户管理和安全管理等工作。资源
13、管理负责均衡地使用云资源节点,检测节点的故障并试图恢复或屏蔽之,并对资源的使用情况进行监视统计;任务管理负责执行用户或应用提交的任务,包括完成用户任务映象(Image)的部署和管理、任务调度、任务执行、任务生命期管理等等;用户管理是实现云计算商业模式的一个必不可少的环节,包括提供用户交互接口、管理和识别用户身份、创建用户程序的执行环境、对用户的使用进行计费等;安全管理保障云计算设施的整体安全,包括身份认证、访问授权、综合防护和安全审计等。基于上述体系结构,本文以IaaS云计算为例,简述云计算的实现机制,如图4所示。用户交互接口向应用以Web Services方式提供访问接口,获取用户需求。服务
14、目录是用户可以访问的服务清单。系统管理模块负责管理和分配所有可用的资源,其核心是负载均衡。配置工具负责在分配的节点上准备任务运行环境。监视统计模块负责监视节点的运行状态,并完成用户使用节点情况的统计。执行过程并不复杂:用户交互接口允许用户从目录中选取并调用一个服务。该请求传递给系统管理模块后,它将为用户分配恰当的资源,然后调用配置工具来为用户准备运行环境。Hadoop HDFS特性简介 一、设计思想1、硬件失效是“常态事件“,而非“偶然事件”。HDFS可能是有上千的机器组成(文档中描述的Yahoo!一个Hadoop集群有4096个节点),任何一个组件都有可能一直失效,因此数据的健壮性错误检测和
15、快速、自动的恢复是HDFS的核心架构目标。2、 流式数据访问。运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。比之数据访问的低延迟问题,更关键的在于数据并发访问的高吞吐量。POSIX标准设置的很多硬性约束对HDFS应用系统不是必需的。为了提高数据的吞吐量,在一些关键方面对 POSIX的语义做了一些修改。3、 HDFS应用对文件要求的是write-one-read-many访问模型。一个文件经过创建、写,关闭之后就不需要改变。这一假设简化了数据一致性问题,使高吞吐量的数据访问成为可能。典型的如MapReduce框架,
16、或者一个web crawler应用都很适合这个模型。4、移动计算的代价比之移动数据的代价低。一个应用请求的计算,离它操作的数据越近就越高效,这在数据达到海量级别的时候更是如此。将计算移动到数据附近,比之将数据移动到应用所在显然更好,HDFS提供给应用这样的接口。5、在异构的软硬件平台间的可移植性。二、Namenode和Datanode的划分一个HDFS集群有一个Namenode和一定数目的Datanode组成。Namenode是一个中心服务器,负责管理文件系统的namespace和客户端对文件的访问。Datanode在集群中会有多个,一般是一个节点存在一个,负责管理其自身节点上它们附带的存储。
17、在内部,一个大文件其分成一个或多个block,这些block存储在Datanode集合里。Namenode执行文件系统的namespace相关操作,例如打开、关闭、重命名文件和目录,同时决定了block到具体Datanode节点的映射。Datanode在Namenode的指挥下进行block的创建、删除和复制。单一节点的Namenode大大简化了系统的架构。Namenode负责保管和管理所有的HDFS元数据,因而在请求Namenode得到文件的位置后就不需要通过Namenode参与而直接从Datanode进行。为了提高Namenode的性能,所有文件的namespace数据都在内存中维护,所以
18、就天生存在了由于内存大小的限制导致一个HDFS集群的提供服务的文件数量的上限。根据目前的文档,一个元数据(一个HDFS文件块儿)占用200Bytes,如果是页面抓取的小文件,那么32GB内存能承载1.5亿左右的文件存储(有待精确详细测试)。三、文件系统操作和namespace的关系HDFS支持传统的层次型文件组织,与大多数其他文件系统类似,用户可以创建目录,并在其间创建、删除、移动和重命名文件。HDFS不支持user quotas和访问权限,也不支持链接(link),不过当前的架构并不排除实现这些特性。Namenode维护文件系统的namespace,任何对文件系统namespace和文件属性
19、的修改都将被Namenode记录下来。应用可以设置HDFS保存的文件的副本数目,文件副本的数目称为文件的 replication因子,这个信息也是由Namenode保存。四、数据复制HDFS被设计成在一个大集群中可以跨机器地可靠地存储海量的文件。它将每个文件存储成block序列,除了最后一个block,所有的block都是同样的大小。文件的所有block为了容错都会被复制。每个文件的block大小和replication因子都是可配置的。Replication因子可以在文件创建的时候配置,以后也可以改变。HDFS中的文件是write-one,并且严格要求在任何时候只有一个writer。Name
20、node全权管理block的复制,它周期性地从集群中的每个Datanode接收心跳包和一个Blockreport。心跳包的接收表示该Datanode节点正常工作,而Blockreport包括了该Datanode上所有的block组成的列表。1、副本的存放,副本的存放是HDFS可靠性和性能的关键。庞大的HDFS实例一般运行在多个机架的计算机形成的集群上,不同机架间的两台机器的通讯需要通过交换机,显然通常情况下,同一个机架内的两个节点间的带宽会比不同机架间的两台机器的带宽大。在大多数情况下,replication因子是3,HDFS的存放策略是将一个副本存放在本地机架上的节点,一个副本放在同一机架上
21、的另一个节点,最后一个副本放在不同机架上的一个节点。机架的错误远远比节点的错误少,这个策略不会影响到数据的可靠性和有效性。三分之一的副本在一个节点上,三分之二在一个机架上,其他保存在剩下的机架中,这一策略改进了写的性能。2、副本的选择,为了降低整体的带宽消耗和读延时,HDFS会尽量让reader读最近的副本。如果在reader的同一个机架上有一个副本,那么就读该副本。如果一个HDFS集群跨越多个数据中心,那么reader也将首先尝试读本地数据中心的副本。3、SafeModeNamenode启动后会进入一个称为SafeMode的特殊状态,处在这个状态的Namenode是不会进行数据块的复制的。N
22、amenode从所有的 Datanode接收心跳包和Blockreport。Blockreport包括了某个Datanode所有的数据块列表。每个block都有指定的最小数目的副本。当Namenode检测确认某个Datanode的数据块副本的最小数目,那么该Datanode就会被认为是安全的;如果一定百分比(这个参数可配置)的数据块检测确认是安全的,那么Namenode将退出SafeMode状态,接下来它会确定还有哪些数据块的副本没有达到指定数目,并将这些block复制到其他Datanode。五、文件系统元数据的持久化Namenode存储HDFS的元数据。对于任何对文件元数据产生修改的操作,N
23、amenode都使用一个称为Editlog的事务日志记录下来。例如,在HDFS中创建一个文件,Namenode就会在Editlog中插入一条记录来表示;同样,修改文件的replication因子也将往 Editlog插入一条记录。Namenode在本地OS的文件系统中存储这个Editlog。整个文件系统的namespace,包括block到文件的映射、文件的属性,都存储在称为FsImage的文件中,这个文件也是放在Namenode所在系统的文件系统上。Namenode在内存中保存着整个文件系统namespace和文件Blockmap的映像。这个关键的元数据设计得很紧凑,一般为200Bytes的
24、内存占用,因而一个带有4G内存的 Namenode足够支撑海量的文件和目录。当Namenode启动时,它从硬盘中读取Editlog和FsImage,将所有Editlog中的事务作用(apply)在内存中的FsImage ,并将这个新版本的FsImage从内存中flush到硬盘上,然后再truncate这个旧的Editlog,因为这个旧的Editlog的事务都已经作用在FsImage上了。这个过程称为checkpoint。在当前实现中,checkpoint只发生在Namenode启动时,在不久的将来我们将实现支持周期性的checkpoint。Datanode并不知道关于文件的任何东西,除了将文件
25、中的数据保存在本地的文件系统上。它把每个HDFS数据块存储在本地文件系统上隔离的文件中。 Datanode并不在同一个目录创建所有的文件,相反,它用启发式地方法来确定每个目录的最佳文件数目,并且在适当的时候创建子目录。在同一个目录创建所有的文件不是最优的选择,因为本地文件系统可能无法高效地在单一目录中支持大量的文件。当一个Datanode启动时,它扫描本地文件系统,对这些本地文件产生相应的一个所有HDFS数据块的列表,然后发送报告到Namenode,这个报告就是Blockreport。六、通讯协议所有的HDFS通讯协议都是构建在TCP/IP协议上。客户端通过一个可配置的端口连接到Namenod
26、e,通过ClientProtocol与 Namenode交互。而Datanode是使用DatanodeProtocol与Namenode交互。从ClientProtocol和 Datanodeprotocol抽象出一个远程调用(RPC),在设计上,Namenode不会主动发起RPC,而是是响应来自客户端和 Datanode 的RPC请求。七、健壮性HDFS的主要目标就是实现在失败情况下的数据存储可靠性。常见的三种失败:Namenode failures, Datanode failures和网络分割(network partitions)。1、硬盘数据错误、心跳检测和重新复制每个Datanod
27、e节点都向Namenode周期性地发送心跳包。网络切割可能导致一部分Datanode跟Namenode失去联系。 Namenode通过心跳包的缺失检测到这一情况,并将这些Datanode标记为dead,不会将新的IO请求发给它们。寄存在dead Datanode上的任何数据将不再有效。Datanode的死亡可能引起一些block的副本数目低于指定值,Namenode不断地跟踪需要复制的 block,在任何需要的情况下启动复制。在下列情况可能需要重新复制:某个Datanode节点失效,某个副本遭到损坏,Datanode上的硬盘错误,或者文件的replication因子增大。2、集群均衡HDFS支
28、持数据的均衡计划,如果某个Datanode节点上的空闲空间低于特定的临界点,那么就会启动一个计划自动地将数据从一个Datanode搬移到空闲的Datanode。当对某个文件的请求突然增加,那么也可能启动一个计划创建该文件新的副本,并分布到集群中以满足应用的要求。这些均衡计划目前还没有实现。3、数据完整性从某个Datanode获取的数据块有可能是损坏的,这个损坏可能是由于Datanode的存储设备错误、网络错误或者软件bug造成的。HDFS客户端软件实现了HDFS文件内容的校验和。当某个客户端创建一个新的HDFS文件,会计算这个文件每个block的校验和,并作为一个单独的隐藏文件保存这些校验和在
29、同一个HDFS namespace下。当客户端检索文件内容,它会确认从Datanode获取的数据跟相应的校验和文件中的校验和是否匹配,如果不匹配,客户端可以选择从其他Datanode获取该block的副本。4、元数据磁盘错误FsImage和Editlog是HDFS的核心数据结构。这些文件如果损坏了,整个HDFS实例都将失效。因而,Namenode可以配置成支持维护多个FsImage和Editlog的拷贝。任何对FsImage或者Editlog的修改,都将同步到它们的副本上。这个同步操作可能会降低 Namenode每秒能支持处理的namespace事务。这个代价是可以接受的,因为HDFS是数据密
30、集的,而非元数据密集。当Namenode重启的时候,它总是选取最近的一致的FsImage和Editlog使用。Namenode在HDFS是单点存在,如果Namenode所在的机器错误,手工的干预是必须的。目前,在另一台机器上重启因故障而停止服务的Namenode这个功能还没实现。八、数据组织1、数据块兼容HDFS的应用都是处理大数据集合的。这些应用都是写数据一次,读却是一次到多次,并且读的速度要满足流式读。HDFS支持文件的write-once,read-many。一个典型的block大小是64MB,因而,文件总是按照64M切分成chunk,每个chunk存储于不同的Datanode上。2、数
31、据产生步骤某个客户端创建文件的请求其实并没有立即发给Namenode,事实上,HDFS客户端会将文件数据缓存到本地的一个临时文件。应用的写被透明地重定向到这个临时文件。当这个临时文件累积的数据超过一个block的大小(默认64M),客户端才会联系Namenode。Namenode将文件名插入文件系统的层次结构中,并且分配一个数据块给它,然后返回Datanode的标识符和目标数据块给客户端。客户端将本地临时文件flush到指定的 Datanode上。当文件关闭时,在临时文件中剩余的没有flush的数据也会传输到指定的Datanode,然后客户端告诉Namenode文件已经关闭。此时Namenod
32、e才将文件创建操作提交到持久存储。如果Namenode在文件关闭前挂了,该文件将丢失。上述方法是对通过对HDFS上运行的目标应用认真考虑的结果。如果不采用客户端缓存,由于网络速度和网络堵塞会对吞估量造成比较大的影响。3、数据块复制当某个客户端向HDFS文件写数据的时候,一开始是写入本地临时文件,假设该文件的replication因子设置为3,那么客户端会从Namenode 获取一张Datanode列表来存放副本。然后客户端开始向第一个Datanode传输数据,第一个Datanode一小部分一小部分(4kb)地接收数据,将每个部分写入本地仓库,并且同时传输该部分到第二个Datanode节点。第二
33、个Datanode也是这样,边收边传,一小部分一小部分地收,存储在本地仓库,同时传给第三个Datanode,第三个Datanode就仅仅是接收并存储了。这就是流水线式的复制。九、访问接口HDFS给应用提供了多种访问方式,可以通过DFSShell通过命令行与HDFS数据进行交互,可以通过java API调用,也可以通过C语言的封装API访问,并且提供了浏览器访问的方式。正在开发通过WebDav协议访问的方式。具体使用参考文档。十、空间的回收1、文件的删除和恢复用户或者应用删除某个文件,这个文件并没有立刻从HDFS中删除。相反,HDFS将这个文件mv到/trash目录。当文件还在/trash目录时
34、,该文件可以被迅速地恢复。文件在/trash中保存的时间是可配置的,当超过这个时间,Namenode就会将/trash文件批量从namespace中删除。文件的删除,也将释放关联该文件的数据块。并且需要注意的是,在文件被用户删除和HDFS空闲空间的增加之间会有一个等待时间延迟。当被删除的文件还保留在/trash目录中的时候,如果用户想恢复这个文件,可以检索浏览/trash目录并检索该文件。/trash目录仅仅保存被删除文件的最近一次拷贝。/trash目录与其他文件目录没有什么不同,除了一点:HDFS在该目录上应用了一个特殊的策略来自动删除文件,目前的默认策略是删除保留超过6小时的文件,这个策略以后会定义成可配置的接口。2、Replication因子的减小当某个文件的replication因子减小,Namenode会选择要删除的过剩的副本。下次心跳检测就将该信息传递给Datanode, Datanode就会移除相应的block并释放空间,同样,在调用setReplication方法和集群中的空闲空间增加之间会有一个时间延迟。