云计算考试重点Word文件下载.docx

上传人:wj 文档编号:1141012 上传时间:2023-04-30 格式:DOCX 页数:7 大小:616.69KB
下载 相关 举报
云计算考试重点Word文件下载.docx_第1页
第1页 / 共7页
云计算考试重点Word文件下载.docx_第2页
第2页 / 共7页
云计算考试重点Word文件下载.docx_第3页
第3页 / 共7页
云计算考试重点Word文件下载.docx_第4页
第4页 / 共7页
云计算考试重点Word文件下载.docx_第5页
第5页 / 共7页
云计算考试重点Word文件下载.docx_第6页
第6页 / 共7页
云计算考试重点Word文件下载.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

云计算考试重点Word文件下载.docx

《云计算考试重点Word文件下载.docx》由会员分享,可在线阅读,更多相关《云计算考试重点Word文件下载.docx(7页珍藏版)》请在冰点文库上搜索。

云计算考试重点Word文件下载.docx

13)Google文件系统(GFS)中客户端直接从(数据块服务器)角色完成数据存取。

14)文件体统(GFS)中主服务器节点任务是(存储元数据、文件系统目录管理和与数据块服务器进行周期性通信)

15)在主服务器节点存储中,采用日志进行容错的是(命名空间、Chunk与文件名的映射)

16)在数据块服务器容错中,每个Block对应32Bit的校验码

17)GFS采用用中心服务器模式的原因包括(可以方便增加数据块服务器;

不存在元数据的一致性问题;

方便进行负载均衡)

18)Google不缓存数据的原因是(OFS的文件操作大部门是流式读写;

维护缓存与实际数据之间的一致性太复杂;

不存在大量的重复读写;

数据块服务器上的数据存取使用本地文件系统;

19)GFS中主服务器节点存储的元数据包括(命名空间;

Chunk与文件名间的映射表、Chunk副本的位置信息)

20)单一主服务器(Master)解决性能瓶颈的方法是(减少其在数据存储中的参与程度、不适用Master读取数据、客户端缓存元数据、采用大尺寸的数据块)

21)Google云计算技术和开源框架Hadoop如何对应的

22)(MapReduce)是Google提出的用于处理海量数据的并行编程模式和大规模数据集的并行运算的软件架构。

简答题

云计算和网格计算的异同?

MapReduce与传统的分布式程序设计相比有何优点?

另外一个文档上有答案

MapReduce执行流程图

(1)MapReduce函数首先把输入文件分成M块

(2)这些分派执行程序有一个程序比较特别,他是主程序Master。

剩下的执行程序都是作为Master分派工作的Worker(工作机)。

总共有M个Map任务和R个Reduce任务需要分派,Master选择空闲的Worker来分配这些Map或Reduce任务。

(3)一被分配的Map任务的Worker读取并处理相关的输入块。

(4)这些缓存到内存的中间结果将被定时写到本地硬盘,这些数据通过分区函数分层R个区

(5)当Master通知Reduce的Worker关于<

key,value>

对的位置时,它调用远程控制过程,从MapWorker的本地硬盘上读取缓冲的中间数据。

(6)ReduceWorker根据每一个唯一的中间key来遍历所有的排序后的中间数据,并且把key和相关的中间结果值集合传递给用户定义的Reduce函数。

(7)当所有Map任务和Reduce任务都完成时,Master激活用户程序。

设计题

试绘制GFS体系结构的示意图,并对工作流程进行简要说明

另外一个文档上面有答案

GFS将整个系统的节点分为三类角色:

Client(客户端)、Master(主服务器)和ChunkServer(数据块服务器)。

Client提供给应用程序的访问接口,它是一组专用接口。

Master是GFS的管理节点,在逻辑上有一个,它保存系统的元数据,负责整个文件系统的管理。

ChunkServer负责具体的存储工作。

数据以文件的形式存储在ChunkServer上,ChunkServer的个数可以有多个,它的数量直接决定了GFS的规模。

客户端在访问GFS是,首先访问Master节点,获取与之进行交互的ChunkServer信息,然后直接访问这些ChunkServer,完成数据的存取工作。

GoogleMapduce案例分析(字符串排序)

(1)对原始的数据进行分割(Split),得到N个不同的数据分块

(2)对每一个数据块都启动一个Map进行处理,采用桶排序的方法,每个Map按照首字母将字符串分配到不同的桶中

(3)对于Map之后得到的中间结果,启动26个Reduce。

按照字母将Map中不同桶中的字符串集合放置到相应的Reduce中进行处理。

具体的说:

就是将首字母a的字符串放到Reduce1中处理,首字母b的放到Reduce2中处理…依此类推。

每个Reduce对于其中字符串进行排序,结果直接输出。

由于Map过程中已经做到了首字母有序,Reduce输出结果就是最终的排序结果。

HDFS的五个守护进程

HDFS体系结构图

HDFS集群是一个NameNode和很多个DataNode组成。

NameNode主控服务器,管理文件系统的元数据,负责维护文件系统的命名空间并协调客户端对文件的访问,记录命名空间内的任何改动或命名空间本身的属性改动。

DataNode存储实际的数据,负责他们所在物理节点上存储管理,HDFS开放文件系统的命名空间以便让用户以文件的形式存储数据。

客户端联系NameNode以获取文件的元数据,而真正的文件I/O操作是直接和DataNode进行交互的。

SecondaryNameNode它不是namenode的冗余守护进程,而是提供周期检查点和清理任务。

JobTracker负责调度 

DataNode上的工作。

每个 

DataNode有一个TaskTracker,它们执行实际工作。

JobTracker和 

TaskTracker采用主-从形式,JobTracker跨DataNode分发工作,而 

TaskTracker执行任务。

JobTracker还检查请求的工作,如果一个 

DataNode由于某种原因失败,JobTracker会重新调度以前的任务。

这个是重点(五个函数)但是不确定怎么考?

HadoopMapReduce五种函数(实际是两个函数,另外三个是阶段),每种函数的含义

输入分片(inputsplit)阶段:

在进行map计算之前,mapreduce会根据输入文件计算输入分片(inputsplit),每个输入分片(inputsplit)针对一个map任务,输入分片(inputsplit)存储的并非数据本身,而是一个分片长度和一个记录数据的位置的数组,输入分片(inputsplit)往往和hdfs的block(块)关系很密切;

map阶段:

就是程序员编写好的map函数了,因此map函数效率相对好控制,而且一般map操作都是本地化操作也就是在数据存储节点上进行;

Combine(连接)函数:

将Map任务输出的中间结果集中有相同的key值的多个<

key,vlaue>

组合成一个<

key,list<

value>

>

对。

Combine在执行完Map函数后紧接着执行,很多情况下直接使用Reduce函数,Combine能减少中间结果的数量,从而减少数据传输的网络流量。

Partition(分区)函数:

Combine之后,把产生的中间结果按key的范围划分成R(R是预先定义的Reduce任务的个数)份,划分的时候通常使用Hash函数,如Hash(key)modR,这样可以保证某一范围内的key,一定是一个Reduce任务来处理,可以简化Reduce的过程。

reduce阶段:

和map函数一样也是程序员编写的,最终结果是存储在hdfs上的。

SQL和NoSQL数据库的对比

(1)数据模型,SQL数据库对数据有严格的约束,包括数据之间的关系和数据的完整性。

(2)数据处理:

传统的SQL数据库满足CAP原则(一致性(Consistency)、可用性(Availability)、分区容忍性(PartitionTolerance))的C和A,所以在P方面很弱,进而导致传统数据库在可扩展性方面,面临很多问题。

NoSQL数据库满足CAP原则的A和P,所以在C比较弱,进而使得斐关系型数据库无法满足ACID要求。

(3)接口层区别:

SQL数据库都是以SQL语言对数据库进行访问的,目前所有的SQL数据都支持SQL语言;

NoSQL数据库对数据的操作都是通过一些API实现的,支持的查询功能很简单,并且不同数据库有不同的API。

(4)优势和劣势:

SQL数据库具有很高的一致性,在ACID方面能力非常强移植性很高,但在可用性方面能力较弱。

NoSQL数据库最大的优点是非常高的可扩展性,具有很强的并发处理能力,但缺乏数据一致性保证。

另外,由于分布在多个服务器行,所以跨表、跨服查询很难。

GoogleReduce编程模型(简单描述如何实现)

一个Map函数就是对一部分原始数据进行制定的操作。

每个Map函数都针对不同的原始数据,因此Map和Map之间是互相独立的,这是的他们可以充分并发。

一个Reduce操作就是对每个Map所产生的一部分中间结果进行合并操作,每个Reduce所处理的Map中间结果是互相不交叉的,所有Reduce产生的最终结果经过简单的连接就形成了完整的结果集,因此Reduce也可以在并发环境下之下执行

开发者需编写

两个主要函数

Map:

(in_key,in_value)à

{(keyj,valuej)|j=1…k}

Reduce:

(key,[value1,…,valuem])à

(key,final_value)

Map输入参数:

in_key和in_value,它指明了Map需要处理的原始数据

Map输出结果:

一组<

对,这是经过Map操作后所产生的中间结果

Reduce输入参数:

(key,[value1,…,valuem])

Reduce工作:

对这些对应相同key的value值进行归并处理

Reduce输出结果:

(key,final_value),所有Reduce的结果并在一起就是最终结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2