成为大数据顶尖程序员,先过了这些Hadoop面试题!(附答案解析)

导读:在大数据开发岗位的需求下,工资待遇水涨船高,很多编程人员在面对职业瓶颈期的时候,会选择转编程方向发展。node


你是否已经意识这是你人生中的一个重要起色?能不能抓住这个时代的机遇,就在于你对大数据信息的应用和获取。而如何成为大数据时代的弄潮儿,掌握当下最紧缺的软件技能是关键!谷歌、阿里巴巴、百度、京东都在急需掌握hadoop技术的大数据人才!不管你精通大数据的哪一项类,都将在将来职场脱颖而出!ios

01 单选题算法


一、下面哪一个程序负责 HDFS 数据存储?apache


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


答案 C datanode安全


二、HDfS 中的 block 默认保存几份?网络


a)3 份
b)2 份
c)1 份
d)不肯定数据结构


答案 A 默认 3份框架


三、Hadoop 做者?机器学习


a)Martin Fowler

b)Kent Beck
c)Doug cutting


答案 C Doug cutting


四、下列哪一个程序一般与 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上。


五、下列哪项一般是集群的最主要瓶颈:


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


答案:C 磁盘


此题解析:


首先集群的目的是为了节省成本,用廉价的 pc 机,取代小型机及大型机。小型机和大型机有什么特色?


  1. cpu 处理能力强

  2. 内存够大。因此集群的瓶颈不多是 a 和 d

  3. 网络是一种稀缺资源,可是并非瓶颈。

  4. 因为大数据面临海量数据,读写数据都须要 io,而后还要冗余数据,hadoop 通常备 3份数据,因此 IO 就会打折扣。


六、 HDFS 默认 Block Size


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


答案:B


七、关于 SecondaryNameNode 哪项是正确的?


a)它是 NameNode 的热备

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


答案:C


02 多选题


一、下列哪项能够做为集群的管理?


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


答案:ABD


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


a)若是一个机架出问题,不会影响数据读写
b)写入数据的时候会写到不一样机架的 DataNode 中
c)MapReduce 会根据机架获取离本身比较近的网络数据


答案 :ABC


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


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


答案: B


此题分析:


lient 向 NameNode 发起文件写入的请求。


NameNode 根据文件大小和文件块配置状况,返回给 Client 它所管理部分 DataNode 的信息。Client 将文件划分为多个 Block,根据 DataNode 的地址信息,按顺序写入到每个DataNode 块中。


四、下列哪一个是 Hadoop 运行的模式:


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


答案:ABC


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


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


答案:ABCD



03 判断题


一、 Ganglia 不只能够进行监控,也能够进行告警。


正确


此题分析:此题的目的是考 Ganglia 的了解。严格意义上来说是正确。ganglia 做为一款最经常使用的 Linux 环境中的监控软件,它擅长的的是从节点中按照用户的需求以较低的代价采集数据。可是 ganglia 在预警以及发生事件后通知用户上并不擅长。最新的 ganglia 已经有了部分这方面的功能。可是更擅长作警告的还有 Nagios。Nagios,就是一款精于预警、通知的软件。经过将 Ganglia 和 Nagios 组合起来,把 Ganglia 采集的数据做为 Nagios 的数据源,而后利用 Nagios 来发送预警通知,能够完美的实现一整套监控管理的系统。


二、Block Size 是不能够修改的。


错误


此题分析:它是能够被修改的 Hadoop 的基础配置文件是 hadoop-default.xml,默认创建一个 Job 的时候会创建 Job 的 Config,Config 首先读入 hadoop-default.xml 的配置,而后再读入 hadoop-site.xml 的配置(这个文件初始的时候配置为),hadoop-site.xml 中主要配置须要覆盖的 hadoop-default.xml 的系统级配置。


三、Nagios 不能够监控 Hadoop 集群,由于它不提供 Hadoop 支持。


错误


此题分析:Nagios 是集群监控工具,并且是云计算三大利器之一


四、若是 NameNode 意外终止,SecondaryNameNode 会接替它使集群继续工做。


错误


此题分析:SecondaryNameNode 是帮助恢复,而不是替代,如何恢复,能够查看


五、Cloudera CDH 是须要付费使用的。


错误


此题分析:第一套付费产品是 Cloudera Enterpris,Cloudera Enterprise 在美国加州举行的Hadoop 大会 (Hadoop Summit) 上公开,以若干私有管理、监控、运做工具增强Hadoop 的功能。收费采起合约订购方式,价格随用的 Hadoop 叢集大小变更。


六、Hadoop 是 Java 开发的,因此 MapReduce 只支持 Java 语言编写。


错误


此题分析:rhadoop 是用 R 语言开发的,MapReduce 是一个框架,能够理解是一种思想,可使用其余语言开发。


七、Hadoop 支持数据的随机读写。


错误


此题分析:lucene是支持随机读写的,而 hdfs 只支持随机读。可是 HBase 能够来补救。HBase提供随机读写,来解决 Hadoop 不能处理的问题。HBase自底层设计开始即聚焦于各类可伸缩性问题:表能够很“高”,有数十亿个数据行;也能够“宽”,有数百万个列;水平分区并在上千个普通商用机节点上自动复制。表的模式是物理存储的直接反映,使系统有可能提升高效的数据结构的序列化、存储和检索。


八、NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。


错误


此题分析:


NameNode 不须要从磁盘读取 metadata,全部数据都在内存中,硬盘上的只是序列化的结果,只有每次 namenode 启动的时候才会读取。


1)文件写入


Client 向 NameNode 发起文件写入的请求。


NameNode 根据文件大小和文件块配置状况,返回给 Client 它所管理部分 DataNode 的信息。


Client 将文件划分为多个 Block,根据 DataNode 的地址信息,按顺序写入到每个DataNode 块中。


2)文件读取


Client 向 NameNode 发起文件读取的请求。


九、NameNode 本地磁盘保存了 Block 的位置信息。


我的认为正确,欢迎提出其它意见


此题分析:DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将全部存在的Block信息发送给NameNode。NameNode返回文件存储的DataNode的信息。Client读取文件信息。


十、DataNode 经过长链接与 NameNode 保持通讯。


这个有分歧:具体正在找这方面的有利资料。下面提供资料可参考。


首先明确一下概念:


(1)长链接


Client方与Server方先创建通信链接,链接创建后不断开,而后再进行报文发送和接收。这种方式下因为通信链接一直存在,此种方式经常使用于点对点通信。


(2)短链接


Client方与Server每进行一次报文收发交易时才进行通信链接,交易完毕后当即断开链接。此种方式经常使用于一点对多点通信,好比多个Client链接一个Server.


十一、Hadoop 自身具备严格的权限管理和安全措施保障集群正常运行。


错误


此题分析:hadoop只能阻止好人犯错,可是不能阻止坏人干坏事。


十二、Slave 节点要存储数据,因此它的磁盘越大越好。


错误


此题分析:一旦Slave节点宕机,数据恢复是一个难题。


1三、hadoop dfsadmin –report 命令用于检测 HDFS 损坏块。


错误


1四、 Hadoop 默认调度器策略为 FIFO


正确


1五、 集群内每一个节点都应该配 RAID,这样避免单磁盘损坏,影响整个节点运行。


错误


此题分析:首先明白什么是RAID,能够参考百科磁盘阵列。这句话错误的地方在于太绝对,具体状况具体分析。题目不是重点,知识才是最重要的。由于hadoop自己就具备冗余能力,因此若是不是很严格不须要都配备RAID。具体参考第二题。


1六、由于 HDFS 有多个副本,因此 NameNode 是不存在单点问题的。


错误


1七、每一个 map 槽就是一个线程。


错误


此题分析:首先咱们知道什么是map 槽,map 槽->map slotmap slot 只是一个逻辑值 ( org.apache.hadoop.mapred.TaskTracker.TaskLauncher.numFreeSlots ),而不是对应着一个线程或者进程。


1八、Mapreduce 的 input split 就是一个 block。


错误


1九、NameNode 的 Web UI 端口是 50030,它经过 jetty 启动的 Web 服务。


错误


20、Hadoop 环境变量中的 HADOOP_HEAPSIZE 用于设置全部 Hadoop 守护线程的内存。它默认是 200 GB。


错误


此题分析:hadoop为各个守护进程(namenode, secondarynamenode, jobtracker, datanode, tasktracker)统一分配的内存在hadoop-env.sh中设置,参数为HADOOP_HEAPSIZE,默认为1000M。


2一、DataNode 首次加入 cluster 的时候,若是 log 中报告不兼容文件版本,那须要 NameNode执行“Hadoop namenode -format”操做格式化磁盘。


错误


此题分析:


首先明白介绍,什么ClusterID。


ClusterID


添加了一个新的标识符ClusterID用于标识集群中全部的节点。当格式化一个Namenode,须要提供这个标识符或者自动生成。这个ID能够被用来格式化加入集群的其余Namenode。


二次整理


有的同窗问题的重点不是上面分析内容,内容以下:


这个报错是说明 DataNode 所装的Hadoop版本和其它节点不一致,应该检查DataNode的Hadoop版本 。

关注公众帐号

【飞马会】


往期福利
关注飞马会公众号,回复对应关键词打包下载学习资料;回复“入群”,加入飞马网AI、大数据、项目经理学习群,和优秀的人一块儿成长!

回复 数字“5”大数据学习资料下载,新手攻略,数据分析工具、软件使用教程

回复 数字“8”大数据资料全解析(352个案例+大数据交易白皮书+国内外政策汇篇)

回复 数字“9”干货 | 荐读10本大数据书籍(初级/中级/高级)成为大数据专家!

回复 数字“11”50本书籍大礼包:AI人工智能/大数据/Database/Linear Algebra/Python/机器学习/Hadoop

回复 数字“13”大数据技术教程+书籍+Hadoop视频+大数据研报+科普类书籍

回复 数字“15”大数据hadoop技术电子书+技术理论+实战+源代码分析+专家分享PPT

回复 数字“18”526份行业报告+白皮书:AI人工智能、机器人、智能出行、智能家居、物联网、VR/AR、 区块链等(附下载)

回复 数字“19”800G人工智能学习资料:AI电子书+Python语言入门+教程+机器学习等限时免费领取!

回复 人工智能下载《FMI人工智能与大数据峰会嘉宾演讲PPT》

回复 AI 江湖下载《十大AI江湖领域》

回复 ML实践下载《机器学习实践经验指导(英文版)》

回复 DL论文下载《深度学习100篇以上论文资料》

回复 算法 下载《数据挖掘十大经典算法》

回复 6.10 下载《6.10饿了么&飞马网项目管理实践PPT》

相关文章
相关标签/搜索