微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错题

1.简单描述Shuffle过程环形缓冲区的作用?

key,value从map()方法输出,被outputcollector收集通过getpartitioner()方法获取分区号,在进入环形缓冲区。默认情况下,环形缓冲区大小值为100MB。当map输入的数据进入环形缓冲区的量达到80MB以上时,那么开始执行溢写过程,溢写过程中如果有其他数据进入,那么由剩余的百分之20反向写入。溢写过程会根据key,value先进行分区,后进行排序,最终maptask溢写文件经过归并排序后落入本地磁盘,reduceTask将多个mapTask下相同分区的数据copy到不同的reduceTask中进行归并排序后一次读取一组数据给reduce()函数。

2.HDFS默认的Block块大小是多少?为什么块的大小不能设置太小,也不能设置太大?

(1)默认的块大小是128M,(2)因为HDFS的块设置太小,会增加寻址时间,程序一直在找块的开始位置;如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢。其实HDFS块的大小设置主要取决于磁盘传输速率。

3.简述Hdfs的默认副本策略?这样做有什么好处?

(1)第一个副本在客户端所处的节点上。如果客户端在集群外(意思就是执行上传的服务器不属于集群的节点),则随机再机架上选一个; (2)第二个副本和第一个副本位于相同机架随机节点上; (3)第三个副本位于不同机架,随机节点。 优点:该策略减少了机架间的写流量,通常可以提高写性能。机架故障的机会远小于节点故障的机会。所以此策略不会影响数据的可靠性和可用性保证。

4.简单描述你对Hadoop集群SafeMode模式的理解?

集群处于安全模式,不能执行重要操作(写操作),集群属于只读状态。但是严格来说,只是保证HDFS元数据信息的访问,而不保证文件的访问。集群启动完成后,自动退出安全模式, 如果集群处于安全模式,想要完成写操作,需要离开安全模式。

(1)bin/hdfs dfsadmin -safemode get (功能描述:查看安全模式状态)

(2)bin/hdfs dfsadmin -safemode enter (功能描述:进入安全模式状态)

(3)bin/hdfs dfsadmin -safemode leave (功能描述:离开安全模式状态)

(4)bin/hdfs dfsadmin -safemode wait (功能描述:等待安全模式状态)。

对于全新创建的HDFS集群,NameNode启动后不会进入安全模式,因为没有Block信息。 

5.用一句话总结Combiner的作用和意义,使用它有什么前提?

Combiner的意义就是对每一个MapTask的输出进行局部汇总,以减小网络传输量。

6.简述HDFS的文件上传流程?

1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。

2)NameNode返回是否可以上传。

3)客户端请求第一个 Block上传到哪几个DataNode服务器上。

4)NameNode返回3个DataNode节点,分别为dn1、dn2、dn3。

5)客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。 6)dn1、dn2、dn3逐级应答客户端。

7)客户端开始往dn1上传第一个Block(先从磁盘读取数据放到一个本地内存缓存),以Packet为单位,dn1收到一个Packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答。

8)当一个Block传输完成之后,客户端再次请求NameNode上传第二个Block的服务器。

8[判断题]Hadoop 2.x版本中的数据块副本数可以设置为1024( b )

A. 对

B. 错

9[判断题]NodeManager主动向ResourceManager发送心跳,namenode也是主动向datanode发送心跳(b  )

A. 对

B. 错

解析:datanode向namenode发送心跳

18.下列哪些是对reduceTask阶段任务正确理解(  )

A. 对多个mapTask任务输出key,value,按照不同的分区通过网络copy到不同的reduceTask节点处理。

B. 对多个mapTask任务的输出进行合并、排序。再reduce函数中实现自己的逻辑,对输入的key、value处理,转换成新的key、value输出。

C. outputformat把reducer输出的key,value保存到文件中。

D. reduceTask阶段不会根据key进行分组和排序

[答案]A,B,C

解析:d是会

21[多选题]下面对Combiner描述正确的是(  )

A. 合理利用Combiner可以提高程序执行效率

B. Combiner的作用可以减少对本地磁盘的访问次数。

C. Combiner过程设置则执行,否则不执行,默认过程中没有执行Combiner

D. 任何情况下我们都能够使用Combiner,不会对业务又任何影响

[答案]A,B,C

解析:d用combiner的前提是不影响最终的业务逻辑

 

24[多选题]下列说法正确的是()

A. mapreduce总体上分为maptask阶段和reducetask阶段

B. shfflue阶段由maptask的后半部分和reducetask的前半部分组成

C. shfflue阶段可能会造成数据倾斜

D. shfflue阶段不会对数据进行排序和分区

[答案]A,B,C

解析:d是shfflue会对数据进行排序和分区

25[多选题]下列说法正确的是 ( )

A. inputformat阶段会对文件进行切片,切片过程是物理上的切片

B. inputformat阶段会对文件进行切片切片规则,单个文件切一片,当单个文件的大小超过128M的1.1倍时,默认按照128M进行切片

C. 切片的数量决定了maptask的数量,maptask任务并行执行

D. inputformat会将文件转换为key value输出到mapper类的map()方法

[答案]B,C,D

26[多选题]关于hadoop的序列化,下列描述正确的是()

A. 序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。

B. 使用hadoop的序列化时我们必须实现Writable接口

C. hadoop序列化的优点紧凑、快速、支持多语言操作,只对必要的数据进行序列化

D. hadoop序列化是一个重量级的序列化框架,会附带很多额外的信息

[答案]A,B,C   

解析:D是java的序列化,Hadoop的序列化是把内存中的对象,转换成字节序列,以便于存储到磁盘和网络传输。

27[多选题]下列描述正确的是( )

A. ReduceTask默认值就是1,所以输出文件个数为一个

B. 如果数据分布不均匀,就有可能在Reduce阶段产生数据倾斜

C. 具体多少个ReduceTask,需要根据集群性能而定。

D. ReduceTask的数量越多越好,这样处理数据执行的效率越高

[答案]A,B,C

解析:d中reducerTask的数量越多,处理数据执行效率会降低

29[单选题]下面描述正确的是(  )

A. NameNode是一个中心服务器(master端),负责管理文件系统的名字空间、元数据的存储、以及客户端对文件的访问

B. DataNode负责元数据操作,文件内容相关的数据流经过会DataNode.

C. 副本存放在那些DataNode上由NameNode和DataNode协商控制分配

D. DataNode全权管理数块的存储,接受心跳信号和块状态报告

[答案]A

 

38[单选题]Hadoop项目主要包括四个模块,下面那个是描述错误(  )

A. Hadoop Common :为其他Hadoop模块提供基础设施,是其他模块的公共部分。

B. Hadoop DFS:高可靠、高吞吐量的分布式文件系统,解决海量数据的存储问题

C. Hadoop MapReduce:分布式的离线并行计算框架,解决海量数据的分析和计算问题

D. Hadoop YARN:新的MapReduce框架,监控DFS

[答案]D

44[单选题]下面对fsimage和edits描述错误的是(  )

A. FsImage文件:HDFS文件系统元数据的一个永久性的检查点,其中包含HDFS文件系统的所有目录和文件inode的序列化信息。

B. Edits文件:存放HDFS文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到Edits文件中。

C. DataNode启动时会加载fsimage和edits文件到内存.

D. SecondaryNode实时的辅助备份fsimage和edits,辅助NameNode,协助其完成元数据和编辑文件的合并工作

[答案]C

周总结

mapreducer定义

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐