Hadoop面试题目及答案(附目录)
选择题
1.下面哪个程序负责 HDFS 数据存储。
a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker
答案 C datanode
2. HDfS 中的 block 默认保存几份?
a)3 份 b)2 份 c)1 份 d)不确定
答案 A 默认 3 份
3.下列哪个程序通常与 NameNode 在一个节点启动?
a)SecondaryNameNode b)DataNode c)TaskTracker d)Jobtracker
答案 D
分析:hadoop 的集是基于 master/slave 模式,namenode 和 jobtracker 属于 master,datanode 和tasktracker 属于 slave,master 只有一个,而 slave 有多个SecondaryNameNode 内存需求和 NameNode 在一个数量级上,所以通常 secondaryNameNode(运行在单独的物理机器上)和 NameNode 运行在不同的机器上。
JobTracker 和 TaskTracker
JobTracker 对应于 NameNode,TaskTracker 对应于 DataNode,DataNode 和 NameNode 是针对数据存放来而言的,JobTracker 和 TaskTracker 是对于 MapReduce 执行而言的。mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:jobclient,JobTracker 与 TaskTracker。
1、JobClient 会在用户端通过 JobClient 类将应用已经配置参数打包成 jar 文件存储到 hdfs,并把路径提交到 Jobtracker,然后由 JobTracker 创建每一个 Task(即 MapTask 和ReduceTask)并将它们分发到各个 TaskTracker 服务中去执行。
2、JobTracker 是一个 master 服务,软件启动之后 JobTracker 接收 Job,负责调度 Job
的每一个子任务 task 运行于 TaskTracker 上,并监控它们,如果发现有失败的 task 就重新运行它。一般情况应该把 JobTracker 部署在单独的机器上。
3、TaskTracker 是运行在多个节点上的 slaver 服务。TaskTracker 主动与 JobTracker 通信,接收作业,并负责直接执行每一个任务。TaskTracker 都需要运行在 HDFS 的 DataNode 上。
4. Hadoop 作者
a)Martin Fowler b)Kent Beck c)Doug cutting
答案 C Doug cutting
5. HDFS 默认 Block Size
a)32MB b)64MB c)128MB
答案:B
6. 下列哪项通常是集的最主要瓶颈
a)CPU b)网络 c)磁盘 IO d)内存
答案:C 磁盘
首先集的目的是为了节省成本,用廉价的 pc 机,取代小型机及大型机。小型机和大型机有什么特点?
1.cpu 处理能力强
2.内存够大,所以集的瓶颈不可能是 a 和 d
3.如果是互联网有瓶颈,可以让集搭建内网。每次写入数据都要通过网络(集是内网),然后还要写入 3 份数据,所以 IO 就会打折扣。
7.关于 SecondaryNameNode 哪项是正确的?
a)它是 NameNode 的热备 b)它对内存没有要求
c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间
d)SecondaryNameNode 应与 NameNode 部署到一个节点
答案 C。
多选题:
8. 下列哪项可以作为集的管理?
a)Puppet b)Pdsh c)Cloudera Manager d)Zookeeper
答案 ABD
具体可查看什么是 Zookeeper,Zookeeper 的作用是什么,在 Hadoop 及 hbase 中具体作用是什么。
9. 配置机架感知的下面哪项正确
a)如果一个机架出问题,不会影响数据读写
b)写入数据的时候会写到不同机架的 DataNode 中
c)MapReduce 会根据机架获取离自己比较近的网络数据
答案 ABC
具体可以参考hadoop 机架感知--加强集稳固性,该如何配置 hadoop 机架感知
10. Client 端上传文件的时候下列哪项正确
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)分布式java是用什么软件编写
spyder怎么安装第三方库答案 ABC 单机版,伪分布式只是学习用的。
12. Cloudera 提供哪几种安装 CDH 的方法
a)Cloudera manager b)Tarball c)Yum d)Rpm
答案:ABCD 具体可以参考Hadoop CDH 四种安装方式总结及实例指导。
简答题
1.Hadoop集可以运行的3个模式?单机(本地)模式伪分布式模式全分布式模式
2. 单机(本地)模式中的注意点?在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM上。这里同样没有DFS,使用的是本地文件系统。单机模式适用于开发过程中运行MapReduce程序,这也是最少使用的一个模式。
3. 伪分布模式中的注意点?伪分布式(Pseudo)适用于开发和测试环境,在这个模式中,所有守护进程都在同一台机器上运行。
4. VM是否可以称为Pseudo?不是,两个事物,同时Pseudo只针对Hadoop。
5. 全分布模式又有什么注意点?全分布模式通常被用于生产环境,这里我们使用N台主机组成一个Hadoop集,Hadoop守护进程运行在每台主机之上。这里会存在Namenode运行的主机,Datanode运行的主机,以及task tracker运行的主机。在分布式环境下,主节点和从节点会分开。
6. Hadoop是否遵循UNIX模式?是的,在UNIX用例下,Hadoop还拥有“conf”目录。7. Hadoop安装在什么目录下?Cloudera和Apache使用相同的目录结构,Hadoop被安装在cd/usr/lib/hadoop-0.20/。mysql面试题常问
8. Namenode、Job tracker和task tracker的端口号是?Namenode,70;Job tracker,30;Task tracker,60。
9. Hadoop的核心配置是什么?Hadoop的核心配置通过两个xml文件来完成:1,hadoop-
l;2,l。这些文件都使用xml格式,因此每个xml中都有一些属性,包括名称和值,但是当下这些文件都已不复存在。
10. 那当下又该如何配置?Hadoop现在拥有3个配置文件:1,l;2,l;3,l。这些文件都保存在conf/子目录下。
11. RAM的溢出因子是?溢出因子(Spill factor)是临时文件中储存文件的大小,也就是Hadoop-temp目录。
12. fs.mapr.working.dir只是单一的目录?fs.mapr.working.dir只是一个目录。
13. l的3个主要属性?dfs.name.dir决定的是元数据存储的路径以及DFS的存储方式(磁盘或是远端)dfs.data.dir决定的是数据存储的路径fs.checkpoint.dir用于第二Namenode
14. 如何退出输入模式?退出输入的方式有:1,按ESC;2,键入:q(如果你没有输入任何当下)或者键入:wq(如果你已经输入当下),并且按下Enter。
15. 当你输入hadoopfsck /造成“connection refused java exception’”时,系统究竟发生了什么?这意味着Namenode没有运行在你的VM之上。
16. 我们使用Ubuntu及Cloudera,那么我们该去哪里下载Hadoop,或者是默认就与Ubuntu一起安装?这个属于Hadoop的默认配置,你必须从Cloudera或者Edureka的dropbox下载,然后在你的系统上运行。当然,你也可以自己配置,但是你需要一个Linux box,Ubuntu或者是Red Hat。在Cloudera网站或者是Edureka的Dropbox中有安装步骤。
零基础学安卓开发要多久17. “jps”命令的用处?这个命令可以检查Namenode、Datanode、Task Tracker、 Job Tracker是否正常工作。
18. 如何重启Namenode?点击stop-all.sh,再点击start-all.sh。键入sudo hdfs(Enter),su-hdfs (Enter),/etc/init.d/ha(Enter),及/etc/init.d/hadoop-0.20-namenode start(Enter)。
19. Fsck的全名?全名是:File System Check。
plc编程入门基础知识教材20. 如何检查Namenode是否正常运行?如果要检查Namenode是否正常工作,使用命令/e
wrapfigtc/init.d/hadoop-0.20-namenode status或者就是简单的jps。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论