码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop细节知识题大整理

时间:2016-07-11 19:03:31      阅读:1365      评论:0      收藏:0      [点我收藏+]

标签:

 

 

 

1、下列有关hdfs的说法正确的是()

 A、HDFS是分布式计算中数据存储管理的基础,可以运行在多台廉价的商用服务器上

 B、HDFS来源于Google2003年10月发表的GFS(Google File System)论文,是GFS的一个克隆版本

 C、HDFS具有高容错性,由HDFS内部机制自动保存和恢复多个副本,我们不必关心

 D、HDFS支持文件的并发写入和随机修改

正确答案:A,B,C

解析:

为了保证数据的一致性,一个文件只能有一个写,不允许多个线程同时写,不支持文件的随机修改,仅支持数据的append(追加)

 

2、下列有关HDFS架构组成部分的说法正确的是()

 A、HDFS采用Master/Slave的架构来存储数据

 B、Client负责在文件上传到HDFS之前将文件切分成一个一个的Block,然后进行存储

 C、namenode是master,负责管理,datanode是slave,负责实际的数据操作

 D、当namenode挂掉时,secondarynamenode会马上替换namenode并提供服务。

 

正确答案:A,B,C

解析:

secondarynamenode并不是namenode热备,所以当namenode挂掉时,secondarynamenode并不会马上替换namenode并提供服务。

 

3、hadoop自身具有严格的权限管理和安全措施保障集群正常运行()

 A、正确

 B、错误

 

正确答案:B

解析:

hadoop只能阻止好人办坏事,但是不能阻止坏人干坏事

 

4、Namenode本地磁盘保存了Block的位置信息()

 A、正确

 B、错误

正确答案:A

解析:

DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode

 

 

5、NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。()

 A、正确

 B、错误

 

正确答案:B

解析:

NameNode 不需要从磁盘读取 metadata,所有数据都在内存中,硬盘上的只是序列化的结果,只有每次 namenode 启动的时候才会读取。

1)文件写入

Client向NameNode发起文件写入的请求。

NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。

Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。

2)文件读取

Client向NameNode发起文件读取的请求。

Client读取文件信息

 

6、查看压缩文件内容的参数是()

 A、Cat

 B、Tail

 C、Text

 D、More

 

正确答案:C

解析:

对于压缩的结果文件只能用 -text 参数来查看,否则是乱码。

 

7、Hadoop中各个节点的通信是通过远程调用(RPC)实现的,那么 RPC序列化应该具备哪些要求?()

A、紧凑:紧凑的格式能让我们能充分利用网络带宽,而带宽是数据中心最稀缺的资源;

B、 快速:进程通信形成了分布式系统的骨架,所以需要尽量减少序列化和反序列化的性能开销,这是基本的;

C、可扩展:协议为了满足新的需求变化,所以控制客户端和服务器过程中,需要直接引进相应的协议,这些是新协议,原序列化方式能支持新的协议报文;

D、互操作:能支持不同语言写的客户端和服务端进行交互;

 

正确答案:A,B,C,D

 

8、下列针对mapreduce特点的说法错误的是()

 A、写分布式程序时,只需要简单的实现mapreduce提供的对应接口就可以了,因为mapreduce编程模型是很易于编程的。

 B、Mapreduce可以通过简单的增加集群中机器的数量来扩展它的计算能力

 C、Mapreduce除了适合离线计算,还适合实时计算和流式计算

 D、Mapreduce具有高容错性,当一个任务失败时,hadoop内部会自动的把该节点上的任务转移到其他可用节点,而不需要人工参与

 

正确答案:C

解析:

mapreduce适合基于海量数据的离线处理,并不适合毫秒或秒级就返回结果的在线计算。Mapreduce的设计特点要求输入的数据集必须是静态的,而不能向流式计算那样输入数据集可以是动态的。

 

9、下列说法错误的是()

A、mapreduce的一个split对应hdfs的一个block

B、每个map阶段后,数据会输出到本地磁盘

C、在hadoop中,任务调度器是一个可插拔的模块,用户可以根据自己的需求设计相应的调度器

D、Map task只能用map slot,reduce task只能用reduce slot,两者不能混用

 

正确答案:A

解析:

A:默认情况下,一个split对应一个block,当然也可以对应多个block,他们之间的关系由InputFormat决定

 

10、下列说法正确的是()

 A、MapReduce框架通常和分布式文件系统运行在一组相同的节点上,也就是说,计算节点和存储节点通常在一起

B、map任务不是随随便便地分配给某个TaskTracker的,而是将map任务分配给含有该map处理的数据块的TaskTracker上,同时将程序JAR包复制到该TaskTracker上来运行,而分配reduce任务时并不考虑数据本地化。

 C、map输出的结果会暂且放在一个环形内存缓冲区中(该缓冲区的大小默认为100M)当该缓冲区快要溢出时(默认为缓冲区大小的80%),会在本地文件系统中创建一个溢出文件,将该缓冲区中的数据写入这个文件。

 D、Combiner操作的目的是尽可能少写入到磁盘的数据量,尽可能减少复制阶段网络之间传输的数据量,所以是必不可少的

 

正确答案:A,B,C

解析:

combiner操作不是必不可少的,虽然有很多好处,但是它不能影响reducer的结果

 

11、数据本地性的类别有()

A、同节点(node-local)

B、同机架(rack-local)

C、跨机架(off-switch)

正确答案:A,B,C

 

12、下列属于hadoop作业调度器的是()

A、FIFO

B、Capacity Scheduler

C、Fair Scheduler

 

正确答案:A,B,C

 

 

13、调度器调度作业时需要考虑的因素()

A、作业优先级,优先级越高,获取的资源就越多

B、作业提交时间,提交时间越早,越先执行

C、作业所在队列的资源限制

D、内存的限制

 

正确答案:A,B,C,D

 

14、如果不设置过滤器,FileInputFormat 会使用一个默认的过滤器来排除隐藏文件。 如果通过调用 setInputPathFilter()设置了过滤器,它会在默认过滤器的基础上进行过滤。换句话说,自定义的过滤器只能看到非隐藏文件。()

A、正确

B、错误

正确答案:A

 

hadoop细节知识题大整理

标签:

原文地址:http://www.cnblogs.com/zlslch/p/5661128.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!