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