这是一篇hadoop的测试题及答案解析,题目种类挺多,一共有98道题,题目难度不大,对于高手来说,90分以上才是你的追求。
1.1 下面哪个程序负责 HDFS 数据存储。
a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker
答案 C datanode
1.2 HDfS 中的 block 默认保存几份?
a)3 份 b)2 份 c)1 份 d)不确定
答案 A 默认 3份
1.3 下列哪个程序通常与 NameNode 在一个节点启动?
a)SecondaryNameNode b)DataNode c)TaskTracker d)Jobtracker
答案 D,此题分析:
hadoop 的集群是基于 master/slave 模式,namenode 和 jobtracker 属于 master,datanode 和 tasktracker 属 于 slave , master 只 有 一 个 , 而 slave 有多个SecondaryNameNode 内存需求和 NameNode 在一个数量级上,所以通常 secondary ,NameNode(运行在单独的物理机器上)和 NameNode 运行在不同的机器上。
JobTracker 和 TaskTracker,JobTracker 对应于 NameNode,TaskTracker 对应于 DataNode,DataNode 和 NameNode 是针对数据存放来而言的,JobTracker 和 TaskTracker 是对于 MapReduce 执行而言的,mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:obclient,JobTracker 与 TaskTracker。
1.4 Hadoop 作者
a)Martin Fowler b)Kent Beck c)Doug cutting
答案 C Doug cutting
1.5 HDFS 默认 Block Size
a)32MB b)64MB c)128MB
答案:B
(因为版本更换较快,这里答案只供参考)
1.6 下列哪项通常是集群的最主要瓶颈:
a)CPU b)网络 c)磁盘 IO d)内存
答案:C 磁盘
该题解析:
首先集群的目的是为了节省成本,用廉价的 pc 机,取代小型机及大型机。小型机和大型机有什么特点?
1.7 关于 SecondaryNameNode 哪项是正确的?
a)它是 NameNode 的热备 b)它对内存没有要求 c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间 d)SecondaryNameNode 应与 NameNode 部署到一个节点。
答案 C
2.1 下列哪项可以作为集群的管理?
a)Puppet b)Pdsh c)Cloudera Manager d)Zookeeper
答案:ABD
2.2 配置机架感知的下面哪项正确:
a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据
答案 ABC
2.3 Client 端上传文件的时候下列哪项正确?
a)数据经过 NameNode 传递给 DataNode b)Client 端将文件切分为 Block,依次上传 c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作
答案 B,该题分析:
lient 向 NameNode 发起文件写入的请求。
NameNode 根据文件大小和文件块配置情况,返回给 Client 它所管理部分 DataNode 的 信息。
Client 将文件划分为多个 Block,根据 DataNode 的地址信息,按顺序写入到每一个DataNode 块中。
2.4 下列哪个是 Hadoop 运行的模式:
a)单机版 b)伪分布式 c)分布式
答案 ABC
2.5 Cloudera 提供哪几种安装 CDH 的方法?
a)Cloudera manager b)Tarball c)Yum d)Rpm
答案:ABCD
3.1 Ganglia 不仅可以进行监控,也可以进行告警。( 正确)
分析:此题的目的是考 Ganglia 的了解。严格意义上来讲是正确。ganglia 作为一款最常用的 Linux 环境中的监控软件,它擅长的的是从节点中按照用户的需求以较低的代价采集数据。
但是 ganglia 在预警以及发生事件后通知用户上并不擅长。最新的 ganglia 已经有了部分这方面的功能。但是更擅长做警告的还有 Nagios。Nagios,就是一款精于预警、通知的软件。通过将 Ganglia 和 Nagios 组合起来,把 Ganglia 采集的数据作为 Nagios 的数据源,然后利用 Nagios 来发送预警通知,可以完美的实现一整套监控管理的系统。
3.2 Block Size 是不可以修改的。(错误 )
分析:它是可以被修改的 Hadoop 的基础配置文件是 hadoop-default.xml,默认建立一个 Job 的时候会建立 Job 的 Config,Config 首先读入 hadoop-default.xml 的配置,然后再读入 hadoop-site.xml 的配置(这个文件初始的时候配置为),hadoop-site.xml 中主要配置需要覆盖的 hadoop-default.xml 的系统级配置。
3.3 Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。(错误 )
分析:Nagios 是集群监控工具,而且是云计算三大利器之一
3.4 如果 NameNode 意外终止,SecondaryNameNode 会接替它使集群继续工作。 (错误 )
分析:SecondaryNameNode 是帮助恢复,而不是替代,如何恢复,可以查看
3.5 Cloudera CDH 是需要付费使用的。(错误 )
分析:第一套付费产品是 Cloudera Enterpris,Cloudera Enterprise 在美国加州举行的Hadoop 大会 (Hadoop Summit) 上公开,以若干私有管理、监控、运作工具加强Hadoop 的功能。收费采取合约订购方式,价格随用的 Hadoop 叢集大小变动。
3.6 Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。(错误 )
分析:rhadoop 是用 R 语言开发的,MapReduce 是一个框架,可以理解是一种思想,可以使用其他语言开发。
3.7 Hadoop 支持数据的随机读写。(错 )
分析:lucene是支持随机读写的,而 hdfs 只支持随机读。但是 HBase 可以来补救。HBase提供随机读写,来解决 Hadoop 不能处理的问题。HBase自底层设计开始即聚焦于各种可伸缩性问题:表可以很“高”,有数十亿个数据行;也可以“宽”,有数百万个列;水平分区并在上千个普通商用机节点上自动复制。表的模式是物理存储的直接反映,使系统有可能提高高效的数据结构的序列化、存储和检索。
3.8 NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。(错误)
此题分析:
NameNode 不需要从磁盘读取 metadata,所有数据都在内存中,硬盘上的只是序列化的结果,只有每次 namenode 启动的时候才会读取。
1)文件写入
Client 向 NameNode 发起文件写入的请求。
NameNode 根据文件大小和文件块配置情况,返回给 Client 它所管理部分 DataNode 的信息。
Client 将文件划分为多个 Block,根据 DataNode 的地址信息,按顺序写入到每一个
DataNode 块中。
2)文件读取
Client 向 NameNode 发起文件读取的请求。
3.9 NameNode 本地磁盘保存了 Block 的位置信息。( 个人认为正确,欢迎提出其它意见)
分析:DataNode 是文件存储的基本单元,它将 Block 存储在本地文件系统中,保存了 Block的 Meta-data,同时周期性地将所有存在的 Block 信息发送给 NameNode。NameNode返回文件存储的 DataNode 的信息。
Client 读取文件信息。
3.10 DataNode 通过长连接与 NameNode 保持通信。(有分歧 )
这个有分歧:具体正在找这方面的有利资料。下面提供资料可参考。
首先明确一下概念:
(1).长连接
Client 方与 Server 方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接收。 这种方式下由于通讯连接一直存在,此种方式常用于点对点通讯。
(2).短连接
Client 方与 Server 每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。 此种方式常用于一点对多点通讯,比如多个 Client 连接一个 Server.
限于篇幅,这里只能放一小部分题目,想测试更多的题目请点击阅读原文浏览。
End.
来源:36大数据