大数据Hadoop面试题!(附答案解析).docx
《大数据Hadoop面试题!(附答案解析).docx》由会员分享,可在线阅读,更多相关《大数据Hadoop面试题!(附答案解析).docx(16页珍藏版)》请在冰豆网上搜索。
在大数据开发岗位的需求下,工资待遇水涨船高,不少编程人员在面对职业瓶颈期的时候,会选择转编程方向发展。
你是否已经意识这是你人生中的一个重要转机?
能不能抓住这个时代的机遇,就在于你对大数据信息的应用和获取。
而如何成为大数据时代的弄潮儿,掌握当下最紧缺的软件技能是关键!
谷歌、阿里巴巴、百度、京东都在急需掌握hadoop技术的大数据人才!
无论你精通大数据的哪一项类,都将在未来职场脱颖而出!
传智播客上海校区为大家准备了一些面试问题,希望可以帮助到大家
更多大数据知识请关注传智播客上海校区或登录传智播客官网了解更多视频
01单选题
1、下面哪个程序负责HDFS数据存储?
a)NameNode
b)Jobtracker
c)Datanode
d)secondaryNameNode
e)tasktracker
答案Cdatanode
2、HDfS中的block默认保存几份?
a)3份
b)2份
c)1份
d)不确定
答案A默认3份
3、Hadoop作者?
a)MartinFowler
b)KentBeck
c)Dougcutting
答案CDougcutting
4、下列哪个程序通常与NameNode在一个节点启动?
a)SecondaryNameNode
b)DataNodeb)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。
JobClient会在用户端通过JobClient类将应用已经配置参数打包成jar文件存储到hdfs,并把路径提交到Jobtracker,然后由JobTracker创建每一个Task(即MapTask和ReduceTask)并将它们分发到各个TaskTracker服务中去执行。
JobTracker是一个master服务,软件启动之后JobTracker接收Job,负责调度Job的每一个子任务task运行于TaskTracker上,并监控它们,如果发现有失败的task就重新运行它。
一般情况应该把JobTracker部署在单独的机器上。
TaskTracker是运行在多个节点上的slaver服务。
TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。
TaskTracker都需要运行在HDFS的DataNode上。
5、下列哪项通常是集群的最主要瓶颈:
a)CPU
b)网络
c)磁盘IO
d)内存
答案:
C磁盘
此题解析:
首先集群的目的是为了节省成本,用廉价的pc机,取代小型机及大型机。
小型机和大型机有什么特点?
1.cpu处理能力强
2.内存够大。
所以集群的瓶颈不可能是a和d
3.网络是一种稀缺资源,但是并不是瓶颈。
4.由于大数据面临海量数据,读写数据都需要io,然后还要冗余数据,hadoop一般备3份数据,所以IO就会打折扣。
6、HDFS默认BlockSize
a)32MB
b)64MB
c)128MB
答案:
B
7、关于SecondaryNameNode哪项是正确的?
a)它是NameNode的热备
b)它对内存没有要求
c)它的目的是帮助NameNode合并编辑日志,减少NameNode启动时间
d)SecondaryNameNode应与NameNode部署到一个节点。
答案:
C
02多选题
1、下列哪项可以作为集群的管理?
a)Puppet
b)Pdsh
c)ClouderaManager
d)Zookeeper
答案:
ABD
2、配置机架感知的下面哪项正确:
a)如果一个机架出问题,不会影响数据读写
b)写入数据的时候会写到不同机架的DataNode中
c)MapReduce会根据机架获取离自己比较近的网络数据
答案:
ABC
3、Client端上传文件的时候下列哪项正确?
a)数据经过NameNode传递给DataNode
b)Client端将文件切分为Block,依次上传
c)Client只上传数据到一台DataNode,然后由NameNode负责Block复制工作
答案:
B
此题分析:
lient向NameNode发起文件写入的请求。
NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
4、下列哪个是Hadoop运行的模式:
a)单机版
b)伪分布式
c)分布式
答案:
ABC
5、Cloudera提供哪几种安装CDH的方法?
a)Clouderamanager
b)Tarball
c)Yum
d)Rpm
答案:
ABCD
03判断题
1、Ganglia不仅可以进行监控,也可以进行告警。
正确
此题分析:
此题的目的是考Ganglia的了解。
严格意义上来讲是正确。
ganglia作为一款最常用的Linux环境中的监控软件,它擅长的的是从节点中按照用户的需求以较低的代价采集数据。
但是ganglia在预警以及发生事件后通知用户上并不擅长。
最新的ganglia已经有了部分这方面的功能。
但是更擅长做警告的还有Nagios。
Nagios,就是一款精于预警、通知的软件。
通过将Ganglia和Nagios组合起来,把Ganglia采集的数据作为Nagios的数据源,然后利用Nagios来发送预警通知,可以完美的实现一整套监控管理的系统。
2、BlockSize是不可以修改的。
错误
此题分析:
它是可以被修改的Hadoop的基础配置文件是hadoop-default.xml,默认建立一个Job的时候会建立Job的Config,Config首先读入hadoop-default.xml的配置,然后再读入hadoop-site.xml的配置(这个文件初始的时候配置为),hadoop-site.xml中主要配置需要覆盖的hadoop-default.xml的系统级配置。
3、Nagios不可以监控Hadoop集群,因为它不提供Hadoop支持。
错误
此题分析:
Nagios是集群监控工具,而且是云计算三大利器之一
4、如果NameNode意外终止,SecondaryNameNode会接替它使集群继续工作。
错误
此题分析:
SecondaryNameNode是帮助恢复,而不是替代,如何恢复,可以查看
5、ClouderaCDH是需要付费使用的。
错误
此题分析:
第一套付费产品是ClouderaEnterpris,ClouderaEnterprise在美国加州举行的Hadoop大会(HadoopSummit)上公开,以若干私有管理、监控、运作工具加强Hadoop的功能。
收费采取合约订购方式,价格随用的Hadoop叢集大小变动。
6、Hadoop是Java开发的,所以MapReduce只支持Java语言编写。
错误
此题分析:
rhadoop是用R语言开发的,MapReduce是一个框架,可以理解是一种思想,可以使用其他语言开发。
7、Hadoop支持数据的随机读写。
错误
此题分析:
lucene是支持随机读写的,而hdfs只支持随机读。
但是HBase可以来补救。
HBase提供随机读写,来解决Hadoop不能处理的问题。
HBase自底层设计开始即聚焦于各种可伸缩性问题:
表可以很“高”,有数十亿个数据行;也可以“宽”,有数百万个列;水平分区并在上千个普通商用机节点上自动复制。
表的模式是物理存储的直接反映,使系统有可能提高高效的数据结构的序列化、存储和检索。
8、NameNode负责管理metadata,client端每次读写请求,它都会从磁盘中读取或则会写入metadata信息并反馈client端。
错误
此题分析:
NameNode不需要从磁盘读取metadata,所有数据都在内存中,硬盘上的只是序列化的结果,只有每次namenode启动的时候才会读取。
1)文件写入
Client向NameNode发起文件写入的请求。
NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
2)文件读取
Client向NameNode发起文件读取的请求。
9、NameNode本地磁盘保存了Block的位置信息。
个人认为正确,欢迎提出其它意见
此题分析:
DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode。
NameNode返回文件存储的DataNode的信息。
Client读取文件信息。
10、DataNode通过长连接与NameNode保持通信。
这个有分歧:
具体正在找这方面的有利资料。
下面提供资料可参考。
首先明确一下概念:
(1)长连接
Client方与Server方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接收。
这种方式下由于通讯连接一直存在,此种方式常用于点对点通讯。
(2)短连接
Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。
此种方式常用于一点对多点通讯,比如多个Client连接一个Server.
11、Hadoop自身具有严格的权限管理和安全措施保障集群正常运行。
错误
此题分析:
hadoop只能阻止好人犯错,但是不能阻止坏人干坏事。
12、Slave节点要存储数据,所以它的磁盘越大越好。
错误
此题分析:
一旦