hadoop面试题总结1Word文档下载推荐.docx
《hadoop面试题总结1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《hadoop面试题总结1Word文档下载推荐.docx(6页珍藏版)》请在冰豆网上搜索。
B
(因为版本更换较快,这里答案只供参考)
a)CPUb)网络c)磁盘IOd)内存
C磁盘
处理能力强
2.内存够大
所以集群的瓶颈不可能是a和d
3.网络是一种稀缺资源,但是并不是瓶颈。
4.由于大数据面临海量数据,读写数据都需要io,然后还要冗余数据,hadoop一般备3份数据,所以IO就会打折扣。
同样可以参考下面内容(磁盘IO:
磁盘输出输出)
对于磁盘IO:
当我们面临集群作战的时候,我们所希望的是即读即得。
可是面对大数据,读取数据需要经过IO,这里可以把IO理解为水的管道。
管道越大越强,我们对于T级的数据读取就越快。
所以IO的好坏,直接影响了集群对于数据的处理。
集群瓶颈:
磁盘IO必读
集群瓶颈为什么磁盘io
a)它是NameNode的热备b)它对内存没有要求
c)它的目的是帮助NameNode合并编辑日志,减少NameNode启动时间
d)SecondaryNameNode应与NameNode部署到一个节点
答案C。
D答案可以参考第三题
多选题:
a)Puppetb)Pdshc)ClouderaManagerd)Zookeeper
答案1:
ABD
具体可查看
什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么
修改后答案:
ABC
A:
puppetpuppet是一种Linux、Unix、windows平台的集中配置管理系统
B:
pdsh可以实现在在多台机器上执行相同的命令
详细参考:
集群管理小工具介绍-pdsh
C:
可以参考ClouderaManager四大功能【翻译】
首先这里给管理下一个定义:
部署、配置、调试、监控,属于管理
因为zookeeper不满足上面要求,所以不纳入管理范围。
a)如果一个机架出问题,不会影响数据读写
b)写入数据的时候会写到不同机架的DataNode中
c)MapReduce会根据机架获取离自己比较近的网络数据
答案ABC
具体可以参考
hadoop机架感知--加强集群稳固性,该如何配置hadoop机架感知
a)数据经过NameNode传递给DataNode
b)Client端将文件切分为Block,依次上传
c)Client只上传数据到一台DataNode,然后由NameNode负责Block复制工作
答案B
Client向NameNode发起文件写入的请求。
NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
HDFS体系结构简介及优缺点
11.下列哪个是Hadoop运行的模式
a)单机版b)伪分布式c)分布式
12.Cloudera提供哪几种安装CDH的方法
a)Clouderamanagerb)Tarballc)Yumd)Rpm
ABCD具体可以参考
HadoopCDH四种安装方式总结及实例指导
13.Ganglia不仅可以进行监控,也可以进行告警。
(正确)
此题的目的是考Ganglia的了解。
严格意义上来讲是正确。
ganglia作为一款最常用的Linux环境中的监控软件,它擅长的的是从节点中按照用户的需求以较低的代价采集数据。
但是ganglia在预警以及发生事件后通知用户上并不擅长。
最新的ganglia已经有了部分这方面的功能。
但是更擅长做警告的还有Nagios。
Nagios,就是一款精于预警、通知的软件。
通过将Ganglia和Nagios组合起来,把Ganglia采集的数据作为Nagios的数据源,然后利用Nagios来发送预警通知,可以完美的实现一整套监控管理的系统。
具体可以查看完美集群监控组合ganglia和nagios
它是可以被修改的
Hadoop的基础配置文件是,默认建立一个Job的时候会建立Job的Config,Config首先读入的配置,然后再读入的配置(这个文件初始的时候配置为空),中主要配置需要覆盖的的系统级配置。
具体配置可以参考下
//block的大小,单位字节,后面会提到用处,必须是512的倍数,因为采用crc作文件完整性校验,默认配置512是checksum的最小单元。
51XX0
Thedefaultblocksizefornewfiles.
Nagios是集群监控工具,而且是云计算三大利器之一
SecondaryNameNode是帮助恢复,而不是替代,如何恢复,可以查看
hadoop根据SecondaryNameNode恢复Namenode
第一套付费产品是ClouderaEnterpris,ClouderaEnterprise在美国加州举行的Hadoop大会(HadoopSummit)上公开,以若干私有管理、监控、运作工具加强Hadoop的功能。
收费采取合约订购方式,价格随用的Hadoop叢集大小变动。
rhadoop是用R语言开发的,MapReduce是一个框架,可以理解是一种思想,可以使用其他语言开发。
具体可以查看
Hadoop简介
(1):
什么是Map/Reduce
lucene是支持随机读写的,而hdfs只支持随机读。
但是HBase可以来补救。
HBase提供随机读写,来解决Hadoop不能处理的问题。
HBase自底层设计开始即聚焦于各种可伸缩性问题:
表可以很“高”,有数十亿个数据行;
也可以很“宽”,有数百万个列;
水平分区并在上千个普通商用机节点上自动复制。
表的模式是物理存储的直接反映,使系统有可能提高高效的数据结构的序列化、存储和检索。
修改后分析:
NameNode不需要从磁盘读取metadata,所有数据都在内存中,硬盘上的只是序列化的结果,只有每次namenode启动的时候才会读取。
1)文件写入
2)文件读取
Client向NameNode发起文件读取的请求。
NameNode返回文件存储的DataNode的信息。
Client读取文件信息。
具体查看
hadoop中NameNode、DataNode和Client三者之间协作关系
DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode。
具体同样查看
这个有分歧:
具体正在找这方面的有利资料。
下面提供资料可参考。
首先明确一下概念:
(1).长连接
Client方与Server方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接收。
这种方式下由于通讯连接一直存在,此种方式常用于点对点通讯。
(2).短连接
Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。
此种方式常用于一点对多点通讯,比如多个Client连接一个Server.
hadoop安全性需不断加强
一旦Slave节点宕机,数据恢复是一个难题
hadoopdfsadmin-report
用这个命令可以快速定位出哪些节点down掉了,HDFS的容量以及使用了多少,以及每个节点的硬盘使用情况。
当然NameNode有个http页面也可以查询,但是这个命令的输出更适合我们的脚本监控dfs的使用状况
ConfiguredCapacity:
77209395855360(TB)
PresentCapacity:
76079914600683(TB)
DFSRemaining:
60534707015680(TB)
DFSUsed:
15545207585003(TB)
DFSUsed%:
%
-------------------------------------------------
Datanodesavailable:
107(109total,2dead)
Name:
:
50010
Rack:
/lg/dminterface0
DecommissionStatus:
Normal
1259272216576(TB)
185585852416(GB)
NonDFSUsed:
39060951040(GB)
1034625413120(GB)
DFSRemaining%:
Lastcontact:
WedNov1810:
19:
44CSTXX
/lg/dminterface2
661261402112(GB)
123147280384(GB)
8803852288(GB)
529310269440(GB)
46CSTXX
具体参考
Hadoop集群三种作业调度算法介绍
首先明白什么是RAID,可以参考百科磁盘阵列。
这句话错误的地方在于太绝对,具体情况具体分析。
题目不是重点,知识才是最重要的。
因为hadoop本身就具有冗余能力,所以如果不是很严格不需要都配备RAID。
具体参考第二题。
NameNode存在单点问题。
了解详细信息,可以参考
Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
29.每个map槽就是一个线程。
(错误)
首先我们知道什么是map槽,map槽->
mapslot
mapslot只是一个逻辑值( ),而不是对应着一个线程或者进程
具体见:
hadoop中槽-slot是线程还是进程讨论
InputFormat的数据划分、Split调度、数据读取三个问题的浅析
根据下面,很显然JOBTRACKER的WebUI端口是50030
端口说明:
默认端口设置位置
9000namenode
8020namenode
8021JTRPC
50030 JobTrackeradministrativewebGUI
50070 NameNodeadministrativewebGUI
50010 DataNodecontrolport
50020 DataNodeIPCport,usedforblocktransfer
50060 PerTaskTrackerwebinterface
50075 PerDataNodewebinterface
50090 PersecondaryNameNodewebinterface
设置位置描述信息
namenode交互端口
namenodeRPC交互端口
JTRPC交互端口
JobTrackeradministrativewebGUIJOBTRACKER的HTTP服务器和端口
NameNodeadministrativewebGUINAMENODE的HTTP服务器和端口
DataNodecontrolportDATANODE控制端口,主要用于DATANODE初始化时向NAMENODE提出注册和应答请求
DataNodeIPCport,usedforblocktransferDATANODE的RPC服务器地址和端口
PerTaskTrackerwebinterfaceTASKTRACKER的HTTP服务器和端口
PerDataNodewebinterfaceDATANODE的HTTP服务器和端口
PersecondaryNameNodewebinterface辅助DATANODE的HTTP服务器和端口
认是200GB。
(错误)
hadoop为各个守护进程(namenode,secondarynamenode,jobtracker,datanode,tasktracker)统一分配的内存在中设置,参数为HADOOP_HEAPSIZE,默认为1000M。
具体参考hadoop集群内存设置
执行“Hadoopnamenode-format”操作格式化磁盘。
首先明白介绍,什么ClusterID
ClusterID
添加了一个新的标识符ClusterID用于标识集群中所有的节点。
当格式化一个Namenode,需要提供这个标识符或者自动生成。
这个ID可以被用来格式化加入集群的其他Namenode。
有的同学问题的重点不是上面分析内容:
内容如下:
这个报错是说明DataNode所装的Hadoop版本和其它节点不一致,应该检查DataNode的Hadoop版本
详细内容可参考
hadoop集群添加namenode的步骤及常识
以上答案通过多个资料验证,对于资料不充分的内容,都标有”个人观点“,给出本测试题抱着谨慎的态度,希望大家多批评指正。
上面只是选择与判断,可以看另外一套实战面试实战面试题