hadoop基础选择题

1.Hadoop 2.x中,DataNode中默认的块配置的大小是()MB

A 128
B 64
C 256
D 1025

A.正确,Hadoop2.0中,HDFS默认的块大小是128MB,所以,比如2MB,7MB或9MB的文件就认为是小文件;参数由为dfs.block.size定义

B.错误

C.错误

D.错误

2.有关Hadoop系统小文件问题的描述错误的是()

A Hadoop上大量HDFS元数据信息存储在NameNode内存中,因此过多的小文件必定会压垮NameNode的内存
B Hadoop中小文件问题无法在Client解决,只能在DataNode上做文件合并
C 使用Hadoop的CombineFileInputFormat<K,V>可实现小文件的合并
D Client上传文件时,可以执行一定的策略先合并

A.正确,元信息存储于NameNode的内存中,太多会导致NameNode节点负载过高

B.错误,对于过多的小文件,Client可以先合并

C.正确

D.正确,Client端可以在一定程度解决部分小文件合并问题   1.19209

3.关于DataNode描述中,不正确的是()

A DataNode负责管理连接到节点的存储(一个集群中可以有多个节点)。
B 为了减轻NameNode的负担,DataNode会在启动时的上报来更新其在NameNode上的映射表
C DataNode之间不会相互通信,NameNode只会与DataNode进行通信
D Hadoop集群中存储数据的节点,每个节点都会运行一个DataNode守护进程

A.正确,DataNode负责文件块的存储

B.正确,DataNode会在启动时候一次性上传其在NameNode上,而后更新

C.错误,DataNode之间会相互进行通信,进行数据复制

D.正确,守护进程避免系统异常重新拉起DataNode

4.Hadoop系统中实现Client端小文件合并的描述错误的是()

A Client端小文件合并的思路是现将小文件合并到大文件中,再把合并的大文件提交给MapReduce程序
B 理想的Client端小文件合并结果是,每一个上传的文件大小都要尽量的大越大越好
C 实现Client端小文件合并,需要实现一个BucketThread类,将小文件合并成HDFS块大小
D BucketThread类是实现Runable接口的独立线程,通过提供copyMerge()方法,把小文件合并为一个大文件

A.正确

B.错误,将这些小文件合并在一起,生成更大的Hadoop文件,这些文件的大小接近于HDFS块大小(dfs.block.size),最优的解决方案便是尽可能创建少的文件

C.正确

D.正确

5.下列关于MapReduce过程描述错误的是()

A 在进行map计算之前,MapReduce会根据输入文件计算输入分片(input split),每个输入分片(input split)针对一个map任务
B map过程中map函数效率相对好控制,而且一般map操作都是本地化操作也就是在数据存储节点上进行
C 需要计算每一个map的结果需要发到哪个reduce端,partition数等于mapper数。默认采用HashPartition
D merge操作会合并所有的本地文件,并且该文件会有一个对应的索引文件

A.正确,MapReduce会根据默认设置将文件进行分片

B.正确

C.错误,partition数等于reducer数

D.正确,merge操作会合并所有的本地文件,且生成本地文件对应的索引文件

6.关于Hadoop系统中添加节点的描述错误的是()

A 新加节点上不需要有Hadoop环境
B 在NameNode节点上修改HADOOP_HOME/conf/master文件,加入NameNode主机名
C 在NameNode节点上修改HADOOP_HOME/conf/slaves文件,加入新节点名
D 建立新加节点无密码的SSH连接,运行启动命令为:/usr/local/hadoop$bin/start-all.sh

A.错误,新加节点上需要有Hadoop环境

B.正确,NameNode中添加元数据,NameNode主机名

C.正确,NameNode中添加元数据,节点名

D.正确,启动命令正确

7.假设有Hadoop系统中有DataNode节点1、2、3,且DataNode节点1、2、3上有Block1,Client请求上传文件file1至Hadoop系统,下列关于Hadoop写操作排序正确的选项是()

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

(2) Client通过FSDataOutputStream模块请求DataNode节点1上传数据,DataNode节点1收到请求会继续调用DataNode节点2,然后DataNode节点2调用DataNode节点3,将这个通信管道建立完成

(3) Client请求file1上传到哪几个DataNode服务器上

(4) NameNode返回是否可以上传(5) NameNode返回3个DataNode节点,分别为DataNode节点1、DataNode节点2、DataNode节点3

(6) Client开始往DataNode节点1上传file1,以packet为单位,DataNode节点1收到一个packet就会传给DataNode节点2,DataNode节点2传给DataNode节点3;DataNode节点1每传一个packet会放入一个应答队列等待应答

(7) DataNode节点1、DataNode节点2、DataNode节点3逐级应答客户端

(8) 当file1传输完成之后,Client再次请求NameNode上传下一个文件到服务器

A (1)(4)(3)(5)(2)(7)(6)(8)
B (1)(5)(3)(4)(2)(7)(6)(8)
C (1)(2)(3)(4)(5)(7)(6)(8)
D (1)(6)(3)(4)(5)(7)(2)(8)

A.正确

B.错误,参考A流程

C.错误,参考A流程

D.错误,参考A流程

8.下列进程中哪些不是Hadoop集群中Hadoop分别需要启动的()

A TaskNode
B SecondaryNameNode
C DataNode
D ResourceManager

A.错误,非Hadoop启动的进程

B.正确,高可用备用节点

C.正确,DataNode节点

D.正确,负责资源分配

9有关Hadoop的高可用下列描述错误的是()

A Hadoop集群中有Active NameNode和StandbyNameNode;其中Active NameNode和StandbyNameNode节点互为主备
B Active NameNode提供读写服务,StandbyNameNode节点只提供读服务
C 主备切换控制器ZKFC,ZKFailoverController作为独立运行的进程,对NameNode的主备切换进行总体控制
D ZKFailoverController主要以心跳的方式检测NameNode的健康状况,在Active NameNode故障时借助Zookeeper实现自动的主备选举和切换

A.正确,其中Active NameNode和StandbyNameNode节点互为主备

B.错误,主备NameNode只有Active NameNode提供读写服务

C.正确,ZKFC是控制检测实现高可用的核心角色

D.正确,心跳检测是健康状况上报的常见方式

10.Hadoop-2.6.5 集群中,HDFS 默认副本块(含原数据块)的个数是()

A 1

B 2

C 3

D 4

Hadoop-2.6.5 集群中,HDFS 有 1 个原数据块,2 个副本块,共 3 个副本块(含原数据块)。

11.下列关于Hadoop命令中,命令执行成功返回0,执行失败返回-1,下列命令返回-1的是()

A hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2
B hdfs dfs -mv hdfs:///testData file:///tmp/testData
C hadoop fs -put localfile hdfs://host:port/hadoop/hadoopfile
D hadoop fs -put localfile /user/hadoop/hadoopfile

A.返回0,/user/hadoop/file1文件移动至/user/hadoop/file2

B.返回-1,mv命令无法在不同文件系统(hdfs与操作系统文件系统)间传输文件

C.返回0,传输localfile至hdfs://host:port/hadoop/hadoopfile

D.返回0,传输localfile至/user/hadoop/hadoopfile

12.有关Hadoop 1.x和Hadoop 2.x的区别,下列描述错误的是()

A 在Hadoop 1.x中,使用JobTracker负责任务调度和资源管理,单点负担过重
B Hadoop 2.x中新增YARN作为集群的调度工具
C 在Hadoop 1.x中,有HA(高可用)模式,避免Hadoop集群的NameNode单点挂掉造成系统不可用
D 启动Hadoop的HA(高可用)模式后,会存在一个Active NameNode 和Standby NameNode

A.正确 

B.正确,Hadoop 2.x使用YARN代替JobTracker作为集群的调度工具 

C.错误,Hadoop 1.x没有高可用模式 

D.正确,当开启Hadoop高可用时,Active NameNode挂掉后,会由Standby NameNode代替Active NameNode

13.有关Hadoop 1.x和Hadoop 2.x的区别点描述错误的是()

A 资源调度方式的改变
B 高可用模式
C Hadoop 联邦架构
D Hadoop DataNode并发读

A.正确,Hadoop 2.x使用YARN代替JobTracker作为集群的调度工具 

B.正确,Hadoop 2.x 弥补了Hadoop 1.x没有高可用模式的空白 

C.正确,Hadoop 联邦架构是解决NameNode内存瓶颈问题的水平横向扩展方案 

D.错误,Hadoop集群中DataNode是可以并发读的

14.关于MapReduce的描述错误的是()

A MapReduce是一个使用简单的软件框架,基于MapReduce的应用程序能够运行在成千上万个商用机器组成的大型集群上,并以一种可靠的方式并行处理上T级别的数据集
B 一个MapReduce作业通常会把输入的数据集切分为若干独立的数据块,由map任务以完全串行的方式处理它们
C MapReduce框架会对map的输出先进行排序, 然后把结果输入给reduce任务
D 整个MapReduce框架负责任务的调度和监控,以及重新执行已经失败的任务

A.正确,MapReduce作业分布式拓展能力很强大

B.错误,由map任务以完全并行的方式处理它们

C.正确,各个mapper上局部有序

D.错误,作业挂掉MapReduce框架会检测且重新执行

15.部署Hadoop集群的核心文件为()?

A hadoop-env.sh
B core-site.xml
C mapred-site.xml
D hdfs-site.xml

A.Hadoop环境变量的配置脚本

B.指定NameNode地址、CheckPoint设置、Hadoop产生文件的地址等

C.设置Hadoop的MR(Map/Reduce)运行在YARN上

D.指定Hadoop保存数据的副本数量、DataNode和NameNode的存储位置

16.Hadoop常用命令中,找出某个已存在在Hadoop系统中,且绝对路径为/tmp/1.txt文件中含有字符'111'的行的命令为()

A hdfs dfs -cat 1.txt | grep 111
B cat 1.txt | grep 111
C hdfs dfs -cat /tmp/1.txt | grep 111
D hdfs -cat /tmp/1.txt | grep 111

A.错误,路径错误

B.错误,非Hadoop命令

C.正确

D.错误,缺少dfs

17.不参与Hadoop系统读过程的组件是()

A flink
B NameNode
C DataNode
D 读流程中生成的临时文件

A.正确,flink非相关组件

B.错误,NameNode负责与应答Client、调度DataNode

C.错误,DataNode负责数据读交互

D.错误,Client获得了所有要读的数据会将其组合起来形成一个文件

18.关于MapReduce的描述错误的是()

A 在抽象的层面上MapReduce是由两个函数Map和Reduce组成的
B 简单来说,一个Map函数就是对一些独立元素组成的概念上的列表的每一个元素进行指定的操作
C 事实上,每个元素都是被独立操作的,而原始列表没有被更改,因为这里创建了一个新的列表来保存操作结果,所以Map操作是不可以高度并行的
D Reduce函数指的是对Map函数的结果(中间经过洗牌的过程,会把map的结果进行分组)分组后多个列表的元素进行适当的归并。

A.正确,核心函数是Map和Reduce

B.正确,Map即维护映射关系

C.正确,Map操作是可以高度并行的

D.正确,Reduce负责对Map函数所产生的结果进行归约

19.下列关于Hadoop架构组件描述错误的是()

A NameNode管理多个DataNode节点以及客户端请求
B Client是用户提交计算作业的入口
C MySQL和YARN也是Hadoop生态的常用的生产环境必要组件
D DataNode负责处理客户端计算作业的读写请求

A.正确,NameNode负责调度管理DataNode以及客户端请求

B.正确,Client端是用户提交作业的入口

C.错误,MySQL非Hadoop生态必要组件;YARN常用于管理Hadoop集群的资源

D.正确,DataNode底层管理与Hadoop文件系统的交互,读写

20.Hadoop系统读流程中描述错误的是()

A Client第一次请求会通过 DistributedFileSystem 对象与集群的 NameNode 进行一次 RPC 远程调用,获取需要读的文件Block位置信
B NameNode返回存储的每个块的 DataNode 列表给Client
C Client将连接到列表中最近的 DataNode
D 一旦DataNode获得所有必须的Block,它就会将这些Block组合起来形成一个临时文件

A.正确,Client获取读的文件块Block的位置

B.正确,Client可以拿到DataNode文件块的分布

C.正确,优化点节省资源

D.错误,DataNode不负责查询Block数据的组装,具体工作内容由Client完成

21.关于Hadoop的负载均衡的描述错误的是()

A 未新增节点时,HDFS的数据在各个DataNode中的分布可能很不均匀
B 尤其是在DataNode节点出现故障或新增DataNode节点时,数据分布很容易不均匀
C 当数据块分布的不均匀时,使用命令 /usr/local/hadoop$bin/start-balancer.sh,重新平衡DataNode上的数据块的分布
D 未新增节点时,HDFS的数据在各个DataNode中的分布是均匀的

A.正确,业务原因或者key分布不均匀导致

B.正确,新节点添加需要最好rebalance,否则更容易分布不均匀

C.正确,重新平衡DataNode上的数据块的分布

D.错误,未新增节点时,HDFS的数据在各个DataNode中的分布可能很不均匀

22.下列哪一个组件不是Hadoop系统的组件之一()

A NameNode
B Client
C DataNode
D JobManager

A.正确,Namenode负责管理文件系统的名字空间(namespace)以及客户端对文件的访问 

B.正确,Client为客户端入口 

C.正确,DataNode负责管理其所在节点上的存储 

D.错误,非Hadoop组件

23.下面关于Hadoop系统中使用CombineFileInputFormat解决小文件问题的描述错误的是()

A CombineFileInputFormat是使用Hadoop API(抽象类CombineFileInputFormat)来解决小文件的问题
B 抽象类CombineFileInputFormat的基本思想是通过使用一个定制的InputFormat允许将小文件合并到Hadoop的分片或块中
C 要使用抽象类CombineFileInputFormat,需要实现3个定制类:CustomCFIF、PairOfStringLong、CustomRecordReader
D PairOfStringLong要扩展CombineFileInputFormat,创建子类来支持定制格式的输入

A.正确

B.正确

C.正确

D.错误,CustomCFIF要扩展CombineFileInputFormat,创建子类来支持定制格式的输入

24.关于 Hadoop 技术描述错误的是()

A HDFS 是一个分布式文件存储系统\
B HDFS 不适合低延时数据访问的场景
C HDFS 适合存储大量的小文件
D HDFS 存储空间由数据节点数决定

HDFS 不适合存储大量的小文件。文件的元数据(如目录结构,文件 block 的节点列表,block-node mapping)保存在 NameNode 的内存中, 整个文件系统的文件数量会受限于 NameNode 的内存大小。 

25.下面关于Hadoop环形缓冲区描述错误的是()

A 当圆形缓冲区一个数据元素被用掉后,其余数据元素不需要移动其存储位置。相反,一个非圆形缓冲区(例如一个普通的队列)在用掉一个数据元素后,其余数据元素需要向前搬移
B 圆形缓冲区不适合实现FIFO先进先出缓冲区
C 非圆形缓冲区不适合实现FIFO先进先出缓冲区
D 一个缓冲区如果需要经常调整其容量,用链表实现更为合适

A. 正确,环状实现FIFO语义

B. 圆形缓冲区适合实现FIFO先进先出缓冲区的逻辑,因为用完数据元素后其他数据元素不需要移动其存储位置

C. 正确,非环状适合实现先进后出的栈语义

D. 正确,链表扩扩缩容成本小

26.请问以下哪个命令组成是错误的()

a.sbin/stop-dfs.sh

b.sbin/hdfs dfsadmin -report

c.bin/hadoop namenode -format

d.bin/hadoop fs -cat /hadoopdata/my.txt

解析

A 选项 sbin/stop-dfs.sh 用于停止集群。

B 选项错误,sbin(shell bin),都是 .sh 脚本。正确命令为:bin/hadoop dfsadmin -report 数据节点状态列表,dfsadmin 命令用于管理 HDFS集群。

C 选项 bin/hadoop namenode -format 用于格式化 NameNode,初始化集群。

D 选项 bin/hadoop fs -cat /hadoopdata/my.txt 用于查看 my.txt 文件数据。

27.关于Hadoop命令,下列描述错误的是()

a.hadoop fs,不仅可用于Hadoop文件系统也可以用于其他文件系统

b.hadoop dfs,专门针对hdfs分布式文件系统

c.相比于hdfs dfs,更推荐使用hadoop dfs

d.当使用hadoop dfs时内部会被转为hdfs dfs命令

解析

A.正确

B.正确

C.错误,当使用hadoop dfs时内部会被转为hdfs dfs命令,所以更推荐使用hdfs dfs

D.正确

28.以下哪个不是 HDFS 的守护进程()

a.secondarynamenode

b.datanode

c.mrappmaster/yarnchild

d.namenode

解析

mrappmaster/yarnchild 是 YARN 中的。

29.Hadoop和Hadoop生态圈的描述中,正确的是()

a.与Hadoop相比,Hadoop生态圈是指Hadoop框架本身

b.Hadoop生态圈,不仅包含Hadoop,还包括保证Hadoop框架正常高效运行的其他框架

c.常见的Hadoop生态圈组件有ZooKeeper、Flume、Redis、Hive、Flink等

d.Hadoop含义范围大于Hadoop生态圈

解析

A.错误,Hadoop生态圈是指Hadoop框架及其保证其正常高效运行的其他框架

B.正确

C.错误,Redis、Flink不是

D.错误,Hadoop生态圈含义大于Hadoop

30.关于安全模式命令,正确的是()

a.退出安全模式:hadoop dfsadmin -safemode leave

b.退出安全模式:hadoop dfs -safemode leave

c.进入安全模式:hadoop dfs -safemode enter

d.进入安全模式:hadoop dfsadmin enter

解析

A.正确,需要admin账户,enter为进入、leave为退出

B.错误,没有admin账户

C.错误,没有admin账户

D.错误,enter和leave相反

31.假设有Hadoop系统中有DataNode节点1、2、3,且DataNode节点1、2、3上有Block1,Client请求上传文件file1至Hadoop系统,下面描述该Hadoop系统写流程错误的是()

a.Client第一次请求NameNode上传文件file1

b.当NameNode返回可以上传后,Client第二个请求会请求file1上传到哪个DataNode节点上

c.当Client第三次请求时,DataNode数据管道搭建完毕后,会由NameNode应答Client

d.当Client第三次请求时,DataNode数据管道搭建完毕后,会由多个DataNode节点等依次逐级应答Client

解析

A.正确,请求目的是询问是否可以上传文件file1

B.正确,拿到具体上传DataNode节点信息

C.错误,写完后会由DataNode依次逐级应答Client

D.正确

32.Hadoop常用命令中,查看指定目录下的所有文件及子目录的命令是()

a.hdfs dfs –ls [文件目录]

b.hdfs dfs –du [文件目录]

c.hdfs dfs –ls -R [文件目录]

d.hdfs dfs –du -R [文件目录]

解析

A.错误,非所有文件及子目录

B.错误,非查看文件目录命令

C.正确,-R递归展示文件夹

D.错误,非查看文件目录命令

33.关于Hadoop常用命令中,touchz和Linux系统的touch命令的描述正确的是()

a.没区别

b.touchz不能新建文件

c.touchz不可用于更新文件的修改日期

d.touch不可用于更新文件的修改日期

解析

A.错误

B.touchz也可用于新建文件

C.正确

D.错误,touch可以

34.在 Hadoop 集群的配置文件中有如下两个配置,请问假如集群中有一个节点宕机,主节点 namenode 需要多长时间才能感知到()

<property>

    <name>dfs.heartbeat.interval</name>

    <value>3</value>

</property>

<property>

    <name>heartbeat.recheck.interval</name>

    <value>2000</value>

</property>

a.26秒
b.34秒
c.30秒
d.20秒

解析

dfs.heartbeat.interval:datanode 会按照此间隙(单位s)向 namenode 发送心跳,默认发送 10 次。

heartbeat.recheck.interval:namenode 按照此间隙(单位ms)检查 datanode 的相关进程,默认检查 2 次。

HDFS 集群掉线超时时长的计算公式是:timeout = 10 * dfs.heartbeat.interval + 2 * heartbeat.recheck.interval / 1000
接下来代入参数,套着公式进行计算 10 * 3 + 2 * 2000 / 1000 = 34 秒

35.

  • 7
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值