Hadoop+Zookeeper+HA错题总结(一)

题目3:

下列哪项通常是hadoop集群运行时的最主要瓶颈?() [单选题]

A、CPU

B、网络

C、磁盘 IO

D、内存

【参考答案】: C

【您的答案】: D

这道题的答案取决于集群的性能,一般来说运行时的主要瓶颈是网络。但是如果集群的磁盘IO性能较差,磁盘IO也可能是主要瓶颈。

题目5:

MapReduce的MapTask工作机制中最后要执行的步骤是?[单选题]

A、溢写

B、分区

C、排序

D、合并

【参考答案】: D

【您的答案】: A

MapTask工作机制中总共分为四步:

  1. 输入数据分片(Input Split):将输入数据按照指定的分片规则划分成多个片段,每个片段由一个MapTask处理。这些数据分片通常存储在分布式文件系统(如HDFS)中。

  2. 映射(Map):对每个输入数据片段应用用户定义的映射函数。映射函数将输入数据解析为一组键值对,并对每个键值对执行操作,生成中间键值对。这一步是将原始数据转换为中间数据的阶段。

  3. 排序和分区(Shuffle):将映射阶段生成的中间键值对按照键的排序规则进行排序。然后,根据用户定义的分区函数,将排序后的键值对划分成若干个分区。每个分区将被发送给一个Reduce任务。

  4. 本地合并和规约(Combine,可选):在Map阶段结束后,可以对每个分区中的键值对进行本地合并和规约操作,以减少数据传输量。这一步是可选的,并不是所有的MapReduce作业都会使用本地合并和规约。

所以本题答案是D选项,合并。

题目7:

下列关于hadoop中partition描述正确的是?

A、reduce的个数小于分区个数且不等于1的时候会报错

B、默认只有一个reduce,虽然自定义了分区,但不会使用自定义分区类

C、分区个数小于reduce的个数时,会有空文件出现

D、自定义分区的分区号默认从0开始

【参考答案】: ABCD

【您的答案】: ACD

B选项的描述有点模糊,默认情况Hadoop只有一个reduce,前半句是对的。后半句,如果自定义了分区器,还需要设置使用自定义的分区器,否则默认还是使用Hash分区器。

题目12:

HDFS-HA工作要点中元数据管理,描写正确的是?[多选]

A、俩个namenode内存中各自保存一份元数据

B、Edits日志只有Active状态的NameNode节点可以做写操作

C、两个NameNode都可以读取Edits

D、共享的Edits放在一个共享存储中管理(qjournal和NFS两个主流实现)

【参考答案】: ABCD

【您的答案】: AB

A、俩个namenode内存中各自保存一份元数据:正确。HDFS-HA中的两个NameNode分别管理自己的内存中元数据,以实现高可用性。

B、Edits日志只有Active状态的NameNode节点可以做写操作:正确。在HDFS-HA中,只有Active状态的NameNode节点允许进行写操作,Standby节点只能接收复制的元数据信息。

C、两个NameNode都可以读取Edits:在HDFS-HA中,只有Active状态的NameNode节点允许读取和写入Edits,Standby节点只能读取复制的元数据信息,以保持数据的一致性,从某个角度来说,两个NameNode确实都可以读取Edits.

D、共享的Edits放在一个共享存储中管理(qjournal和NFS两个主流实现):正确。在HDFS-HA中,共享的Edits日志通常存储在一个共享的存储系统中,这可以通过qjournal(QuorumJournalManager)或NFS(Network File System)等主流实现来实现。

所以,正确的选项是A、B、C和D。

题目15:

NameNode故障后,采用什么方法恢复数据?[单选题]

A、将SecondaryNameNode中数据拷贝到NameNode存储数据的目录

B、使用-importCheckpoint选项启动NameNode守护进程,从而将SecondaryNameNode中数据拷贝到NameNode目录中。

C、AB都可以

D、AB都不可以

【参考答案】: C

【您的答案】: D

A 选项不是常用方法,但也是恢复方式之一。

B选项是最常用的恢复方式,也更为可靠和方便。

通过执行上述操作,可以将SecondaryNameNode的镜像数据导入到NameNode,从而恢复文件系统的状态。

所以,正确的选项是C

题目18:

Namenode在启动时自动进入安全模式,在安全模式阶段,说法错误的是 [单选题]

A、安全模式目的是在系统启动时检查各个DataNode上数据块的有效性

B、 根据策略对数据块进行必要的复制或删除

C、当数据块最小百分比数满足的最小副本数条件时,会自动退出安全模式

D、文件系统允许有修改

【参考答案】: D

【您的答案】: B

A选项:检查数据块的有效性是安全模式的目的之一,安全模式的主要目的是确保数据的稳定和一致的状态。

B选项:

  • 数据块复制:安全模式可以触发数据块的复制操作,以确保数据块的副本数量达到或超过配置的最小副本数。
  • 数据块删除:安全模式可以触发删除多余的数据块副本,以确保数据块的副本数量不超过配置的最大副本数。

C选项:安全模式退出策略:安全模式可以根据不同的策略来决定何时退出。例如,可以配置在满足一定条件(如数据块最小百分比数满足的最小副本数)时自动退出安全模式。

D选项:在安全模式下,文件系统通常不允许进行写入操作。这是为了确保文件系统的元数据和数据块的一致性和稳定性。修改时必须进行写入,故无法进行修改,D错误。

题目21:

MapTask工作机制描述不正确的是?

A、Read阶段:MapTask通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/value。

B、Collect收集阶段:在用户编写map()函数中,当数据处理完成后,一般会调用OutputCollector.collect()输出结果。在该函数内部,它会将生成的key/value分区(调用Partitioner),并写入一个环形内存缓冲区中。

C、Spill阶段:即"溢写",当环形缓冲区满后,MapReduce会将数据写到本地磁盘上,生成一个临时文件。需要注意的是,将数据写入本地磁盘之前,先要对数据进行一次本地排序,并在必要时对数据进行合并、压缩等操作

D、Merge阶段:在远程拷贝数据的同时,MapTask启动了两个后台线程对内存和磁盘上的文件进行合并,以防止内存使用过多或磁盘上文件过多。

【参考答案】: D

【您的答案】: C

题目22:

Hadoop的优势,下面描述正确的是?[多选题]

A、高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。

B、高扩展性:在集群间分配任务数据,可方便的扩展数以干计的节点。

C、高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

D、高容错性:能够自动将失败的任务重新分配。

【参考答案】: ABCD

【您的答案】: ACD

hadoop有四高特性, 答案为ABCD

题目23:

hadoop的namenode格式化时需要注意什么?[多选题]

A、格式化NameNode,会产生新的集群id,导致DataNode中记录的的集群id和刚生成的NameNode的集群id不 一致,所以需要观察对比id是否一样。

B、格式NameNode时,一定要先删除每个节点的data目录和logs日志,然后再格式化NameNode。

C、格式NameNode的命令是 hdfs namenode -format

D、格式化时报错,无法格式化成功,可以查看/tmp下是否有hadoop相关文件,需要删掉再重新格式化

【参考答案】: ABCD

【您的答案】: ABC

A、格式化NameNode,会产生新的集群id,导致DataNode中记录的集群id和新生成的NameNode的集群id不一致,所以需要观察对比id是否一样。这是正确的,因为集群id的一致性对于正常的集群运行非常重要。

B、格式化NameNode时,一定要先删除每个节点的data目录和logs日志,然后再格式化NameNode。这是正确的,清除旧的数据和日志可以确保新的NameNode处于干净的状态。

C、格式NameNode的命令是 hdfs namenode -format。这是正确的格式化NameNode的命令。

D、格式化时报错,无法格式化成功,可以查看/tmp下是否有hadoop相关文件,需要删掉再重新格式化。这也是正确的,如果格式化过程中出现错误,可以检查临时目录(例如/tmp)下是否残留有Hadoop相关文件,需要删除它们后再重新尝试格式化。

所以正确的选项是A、B、C、D。

相关推荐
^辞安1 小时前
RocketMQ为什么自研Nameserver而不用zookeeper?
分布式·zookeeper·rocketmq
2301_781668612 小时前
Elasticsearch 02
大数据·elasticsearch·搜索引擎
isfox3 小时前
Google GFS 深度解析:分布式文件系统的开山之作
大数据·hadoop
用户Taobaoapi20143 小时前
京东店铺所有商品API技术开发文档
大数据·数据挖掘·数据分析
在未来等你3 小时前
Kafka面试精讲 Day 8:日志清理与数据保留策略
大数据·分布式·面试·kafka·消息队列
江畔独步4 小时前
Flink TaskManager日志时间与实际时间有偏差
大数据·flink
TDengine (老段)5 小时前
TDengine 选择函数 Last() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
鼠鼠我捏,要死了捏5 小时前
Hadoop NameNode内存泄漏与GC停顿问题排查与解决方案
hadoop·问题排查·jvm优化
TDengine (老段)6 小时前
TDengine 选择函数 First 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
沧海一粟青草喂马6 小时前
抖音批量上传视频怎么弄?抖音矩阵账号管理的专业指南
大数据·人工智能·矩阵