专栏名称: 36大数据
关注大数据和互联网趋势,最大,最权威,最干货的大数据微信号(dashuju36)。大数据第一科技媒体。不发软文,只做知识分享。
目录
相关文章推荐
数据派THU  ·  深入解析图神经网络:Graph ... ·  昨天  
赛立信媒介研究  ·  【融媒数据】2024年12月国家级广播频率微 ... ·  昨天  
赛立信媒介研究  ·  【融媒数据】2024年12月国家级广播频率微 ... ·  昨天  
大数据分析和人工智能  ·  用DeepSeek帮我接财神 ·  5 天前  
天池大数据科研平台  ·  3步,0代码!一键部署DeepSeek-V3 ... ·  4 天前  
51好读  ›  专栏  ›  36大数据

干货 | 98道常见Hadoop面试题及答案解析(一)

36大数据  · 公众号  · 大数据  · 2017-09-23 07:50

正文

这是一篇hadoop的测试题及答案解析,题目种类挺多,一共有98道题,题目难度不大,对于高手来说,90分以上才是你的追求。


1

单选题



1.1 下面哪个程序负责 HDFS 数据存储。


a)NameNode
b)Jobtracker
c)Datanode
d)secondaryNameNode
e)tasktracker



1.2 HDfS 中的 block 默认保存几份?


a)3 份
b)2 份
c)1 份
d)不确定



1.3 下列哪个程序通常与 NameNode 在一个节点启动?


a)SecondaryNameNode
b)DataNode
c)TaskTracker
d)Jobtracker



1.4 Hadoop 作者


a)Martin Fowler
b)Kent Beck
c)Doug cutting



1.5 HDFS 默认 Block Size


a)32MB
b)64MB
c)128MB



1.6 下列哪项通常是集群的最主要瓶颈:


a)CPU
b)网络
c)磁盘 IO
d)内存



1.7 关于 SecondaryNameNode 哪项是正确的?


a)它是 NameNode 的热备
b)它对内存没有要求
c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间
d)SecondaryNameNode 应与 NameNode 部署到一个节点。



2

多选题




2.1 下列哪项可以作为集群的管理?


a)Puppet
b)Pdsh
c)Cloudera Manager
d)Zookeeper



2.2 配置机架感知的下面哪项正确:


a)如果一个机架出问题,不会影响数据读写
b)写入数据的时候会写到不同机架的 DataNode 中
c)MapReduce 会根据机架获取离自己比较近的网络数据



2.3 Client 端上传文件的时候下列哪项正确?


a)数据经过 NameNode 传递给 DataNode
b)Client 端将文件切分为 Block,依次上传
c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作



2.4 下列哪个是 Hadoop 运行的模式:


a)单机版
b)伪分布式
c)分布式



2.5 Cloudera 提供哪几种安装 CDH 的方法?


a)Cloudera manager
b)Tarball
c)Yum
d)Rpm



3

判断题




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

阅读排行榜/精华推荐
1
入门学习

如果有人质疑大数据?不妨把这两个视频转给他

视频:大数据到底是什么 都说干大数据挣钱 1分钟告诉你都在干什么

人人都需要知道 关于大数据最常见的10个问题

2
进阶修炼

从底层到应用,那些数据人的必备技能

如何高效地学好 R?

一个程序员怎样才算精通Python?







请到「今天看啥」查看全文