Hadoop面试题汇总.pdf
《Hadoop面试题汇总.pdf》由会员分享,可在线阅读,更多相关《Hadoop面试题汇总.pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单选题 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 4.Hadoop 作者 a)Martin Fowler b)Kent Beck c
2、)Doug cutting 答案 C Doug cutting 5.HDFS 默认 Block Size a)32MB b)64MB c)128MB 答案:1.X 版本是 64M 2.X 版本是 128M 6.下列哪项通常是集群的最主要瓶颈 a)CPU b)网络 c)磁盘 IO d)内存 答案:C 磁盘 7.Doug Cutting 所创立的项目的名称都受到其家人的启发,以下项目不是由他创立的项目是 A Hadoop B Nutch C Lucene D Solr 答案:D 8.配置 Hadoop 时,JAVA_HOME 包含在哪一个配置文件中 A hadoop-default.xml B h
3、adoop-env.sh C hadoop-site.xml D configuration.xsl 答案:B 9.Hadoop 配置文件中,hadoop-site.xml 显示覆盖 hadoop-default.xml 里的内容。在版本 0.20 中,hadoop-site.xml 被分离成三个 XML 文件,不包括 A conf-site.xml B mapred-site.xml C core-site.xml D hdfs-site.xml 答案:A 10.HDFS 默认的当前工作目录是/user/$USER,fs.default.name的值需要在哪个配置文件内说明 A.mapred
4、-site.xml B.core-site.xml C.hdfs-site.xml D.以上均不是 答案:B 11.关于 Hadoop 单机模式和伪分布式模式的说法,正确是 A 两者都起守护进程,且守护进程运行在一台机器上 B 单机模式不使用 HDFS,但加载守护进程 C 两者都不与守护进程交互,避免复杂性 D 后者比前者增加了 HDFS 输入输出以及可检查内存使用情况 答案:D 12.下列关于 Hadoop API 的说法错误的是 A Hadoop 的文件 API 不是通用的,只用于 HDFS 文件系统 B Configuration 类的默认实例化方法是以 HDFS 系统的资源配置为基础的
5、 C FileStatus 对象存储文件和目录的元数据 D FSDataInputStream 是 java.io.DataInputStream 的子类 答案:A 13.HDFS 的 NameNode 负责管理文件系统的命名空间,将所有的文件和文件夹的元数据保存在一个文件系统树中,这些信息也会在硬盘上保存成以下文件:A日志 B命名空间镜像 C两者都是 答案:C 14.HDFS 的 namenode 保存了一个文件包括哪些数据块,分布在哪些数据节点上,这些信息也存储在硬盘上。A正确 B错误 答案:B 知识点:在系统启动的时候从数据节点收集而成的 15.Secondary namenode 就是
6、 namenode 出现问题时的备用节点 A正确 B错误 答案:B 知识点:它和元数据节点负责不同的事情。其主要功能就是周期性将元数据节点的命名空间镜像文件和修改日志合并,以防日志文件过大。合并过后的命名空间镜像文件也在 Secondary namenode 保存了一份,以防 namenode 失败的时候,可以恢复。16.HDFS 的是基于流数据模式访问和处理超大文件的需求而开发的,默认的最基本的存储单位是 64M,具有高容错、高可靠性、高可扩展性、高吞吐率等特征,适合的读写任务是 A一次写入,少次读写 B多次写入,少次读写 C一次写入,多次读写 D多次写入,多次读写 答案:C 17.HDFS
7、 无法高效存储大量小文件,想让它能处理好小文件,比较可行的改进策略不包括 A 利用 SequenceFile、MapFile、Har 等方式归档小文件 B 多 Master 设计 C Block 大小适当调小 D 调大 namenode 内存或将文件系统元数据存到硬盘里 答案:D 18.关于 HDFS 的文件写入,正确的是 A 支持多用户对同一文件的写操作 B 用户可以在文件任意位置进行修改 C 默认将文件块复制成三份存放 D 复制的文件块默认都存在同一机架上 答案:C 19.Hadoop fs 中的-get 和-put 命令操作对象是 A 文件 B 目录 C 两者都是 答案:C 20.Nam
8、enode 在启动时自动进入安全模式,在安全模式阶段,说法错误的是 A 安全模式目的是在系统启动时检查各个 DataNode 上数据块的有效性 B 根据策略对数据块进行必要的复制或删除 C 当数据块最小百分比数满足的最小副本数条件时,会自动退出安全模式 D 文件系统允许有修改 答案:D 21.下列关于 HDFS 为存储 MapReduce 并行切分和处理的数据做的设计,错误的是 A FSDataInputStream 扩展了 DataInputStream 以支持随机读 B 为实现细粒度并行,输入分片(Input Split)应该越小越好 C 一台机器可能被指派从输入文件的任意位置开始处理一个
9、分片 D 输入分片是一种记录的逻辑划分,而 HDFS 数据块是对输入数据的物理分割 答案:B 多选题 1.关于 SecondaryNameNode 哪项是正确的?a)它是 NameNode 的热备 b)它对内存没有要求 c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间 d)SecondaryNameNode 应与 NameNode 部署到一个节点 答案 C D 2.下列哪项可以作为集群的管理?a)Puppet b)Pdsh c)Cloudera Manager d)Zookeeper 答案 1:ABC 3.配置机架感知的下面哪项正确 a)如果一个机架出问题,
10、不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 答案 ABC 具体可以参考 hadoop 机架感知-加强集群稳固性,该如何配置 hadoop 机架感知 4.Client 端上传文件的时候下列哪项正确 a)数据经过 NameNode 传递给 DataNode b)Client 端将文件切分为 Block,依次上传 c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作 答案 B 5.下列哪个是 Hadoop 运行的模式 a)单机版 b)伪分布式 c)分布式
11、 答案 ABC 6.Cloudera 提供哪几种安装 CDH 的方法 a)Cloudera manager b)Tarball c)Yum d)Rpm 答案:ABCD 具体可以参考 Hadoop CDH 四种安装方式总结及实例指导 简答题 1.Hadoop 集群可以运行的 3 个模式?1)单机(本地)模式;2)伪分布式模式;3)全分布式模式;2.单机(本地)模式中的注意点?在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个 JVM 上。这里同样没有 DFS,使用的是本地文件系统。单机模式适用于开发过程中运行 MapReduce 程序,这也是最少使用的一个模式。3.伪分布
12、模式中的注意点?伪分布式(Pseudo)适用于开发和测试环境,在这个模式中,所有守护进程都在同一台机器上运行。4.全分布模式又有什么注意点?全分布模式通常被用于生产环境,这里我们使用 N 台主机组成一个 Hadoop 集群,Hadoop 守护进程运行在每台主机之上。这里会存在 Namenode 运行的主机,Datanode运行的主机,以及 task tracker 运行的主机。在分布式环境下,主节点和从节点会分开。5.Hadoop 是否遵循 UNIX 模式?是的,在 UNIX 用例下,Hadoop 还拥有“conf”目录。6.Hadoop 的核心配置是什么?Hadoop 的核心配置通过两个 x
13、ml 文件来完成:1,hadoop-default.xml;2,hadoop-site.xml。这些文件都使用 xml 格式,因此每个 xml 中都有一些属性,包括名称和值,但是当下这些文件都已不复存在。7.那当下又该如何配置?Hadoop 现在拥有 3 个配置文件:1,core-site.xml;2,hdfs-site.xml;3,mapred-site.xml。这些文件都保存在 conf/子目录下。8.fs.mapr.working.dir 只是单一的目录?fs.mapr.working.dir 只是一个目录。9.hdfs-site.xml 的 3 个主要属性?dfs.name.dir 决
14、定的是元数据存储的路径以及 DFS 的存储方式(磁盘或是远端)dfs.data.dir 决定的是数据存储的路径 fs.checkpoint.dir 用于第二 Namenode 10.如何退出输入模式?退出输入的方式有:1,按 ESC;2,键入:q(如果你没有输入任何当下)或者键入:wq(如果你已经输入当下),并且按下 Enter。11.“jps”命令的用处?这个命令可以检查 Namenode、Datanode、Task Tracker、Job Tracker 是否正常工作。12.如何重启 Namenode?点击 stop-all.sh,再点击 start-all.sh。键入 sudo hdfs
15、(Enter),su-hdfs(Enter),/etc/init.d/ha(Enter),及/etc/init.d/hadoop-0.20-namenode start(Enter)。13.Fsck 的全名?全名是:File System Check。14.mapred.job.tracker 命令的作用?可以让你知道哪个节点是 Job Tracker。15./etc/init.d 命令的作用是?/etc/init.d 说明了守护进程(服务)的位置或状态,其实是 LINUX 特性,和 Hadoop 关系不大。16.如何在浏览器中查找 Namenode?如果你确实需要在浏览器中查找 Nameno
16、de,你不再需要 localhost:8021,Namenode 的端口号是 50070。17.hadoop-env.sh 是用于做什么的?hadoop-env.sh 提供了 Hadoop 中.JAVA_HOME 的运行环境。18.Master 文件是否提供了多个入口?是的你可以拥有多个 Master 文件接口。19.Hadoop-env.sh 文件当下的位置?hadoop-env.sh 现在位于 conf。20.在 Hadoop_PID_DIR 中,PID 代表了什么?PID 代表了“Process ID”。21./var/hadoop/pids 用于做什么?/var/hadoop/pids
17、 用来存储 PID。22.Hadoop 需求什么样的网络?Hadoop 核心使用 Shell(SSH)来驱动从节点上的服务器进程,并在主节点和从节点之间使用 password-less SSH 连接。23.全分布式环境下为什么需求 password-less SSH?这主要因为集群中通信过于频繁,Job Tracker 需要尽可能快的给 Task Tracker 发布任务。24.SSH 工作的端口号是?SSH 工作的端口号是 NO.22,当然可以通过它来配置,22 是默认的端口号。25.为什么 SSH 本地主机需要密码?在 SSH 中使用密码主要是增加安全性,在某些情况下也根本不会设置密码通信
18、。26.如果在 SSH 中添加 key,是否还需要设置密码?是的,即使在 SSH 中添加了 key,还是需要设置密码。27.假如 Namenode 中没有数据会怎么样?没有数据的 Namenode 就不能称之为 Namenode,通常情况下,Namenode 肯定会有数据 28.当 Job Tracker 宕掉时,Namenode 会发生什么?当 Job Tracker 失败时,集群仍然可以正常工作,只要 Namenode 没问题。29.是否可以在 Windows 上运行 Hadoop?你最好不要这么做,Red Hat Linux 或者是 Ubuntu 才是 Hadoop 的最佳操作系统。在H
19、adoop 安装中,Windows 通常不会被使用,因为会出现各种各样的问题。因此,Windows绝对不是 Hadoop 的推荐系统。30.简要描述如何安装配置一个 apache 开源版 hadoop,描述即可,列出步骤更好 1.配置主机名 2.配置 Hosts 3.配置面密码互通 4.安装 JDK 5.安装 hadoop 6.配置 hadoop (1)修改 hadoop-env.sh (2)修改 core-site.xml (3)修改 hdfs-site.xml (4)修改 mapred-site.xml (5)修改 yarn-site.xml (6)修改 slaves 7.配置 hadoo
20、p 的环境变量 8.格式化 namenode 32.请列出正常工作的 hadoop 集群中 hadoop 都需要启动哪些进程,他们的作用分别是什么?NameNode-hdfs 名字节点,存储 hdfs 元数据 SecondaryNameNode-辅助 NameNode 实现 fsimage 文件和 edits 文件的合并 DataNode-存储数据的节点 ResourceManager-负责集群中所有资源的统一管理和分,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序 NodeManager-是 YARN 中每个节点上的代理,它管理 Ha
21、doop 集群中单个计算节点,包括与 ResourceManger 保持通信,监督 Container 的生命周期管理,监控每个 Container 的资源使用(内存、CPU 等)情况,追踪节点健康状况,管理日志和不同应用程序用到的附属服务(auxiliary service)33.请写出以下执行命令 1)杀死一个 job?hadoop job kill job_id 2)删除 hdfs 上的/tmp/aaa 目录 hadoop fs-rmdir/tmp/aaa 3 加入一个新的存储节点和删除一个计算节点需要刷新集群状态命令?hadoop balance 5.请列出你所知道的 hadoop 调
22、度器,并简要说明其工作方法?(1)默认的调度器 FIFO(2)计算能力调度器 Capacity Scheduler(3)公平调度器 Fair Scheduler(4)适用于异构集群的调度器 LATE(5)适用于实时作业的调度器 Deadline Scheduler 和 Constraint-based Scheduler 6.请列出在你以前工作中所使用过的开发 mapreduce 的语言?Java 7.当前日志采样格式为 34.hive 有哪些方式保存元数据,各有哪些特点?Hive 原生使用 derby 作为元数据库,无法并发调用 hive 可以将 Hive 元数据保存在 mysql 数据库中
23、 远程服务器模式,在服务器端启动一个 MetaStoreServer,客户端利用 Thrift 协议通过 MetaStoreServer 访问元数据库 35.请简述 hadoop 怎么样实现二级排序?有两种方法进行二次排序,分别为:buffer and in memory sort和 value-to-key conversion。对于 buffer and in memory sort,主要思想是:在 reduce()函数中,将某个 key 对应的所有 value保存下来,然后进行排序。这种方法最大的缺点是:可能会造成 out of memory。对于 value-to-key conver
24、sion,主要思想是:将 key 和部分 value 拼接成一个组合 key(实现WritableComparable 接口或者调用 setSortComparatorClass 函数),这样 reduce 获取的结果便是先按key 排序,后按 value 排序的结果,需要注意的是,用户需要自己实现 Paritioner,以便只按照 key 进行数据划分 36.简述 hadoop 实现 join 的几种方法?2.1 reduce side join reduce side join 是一种最简单的 join 方式,其主要思想如下:在 map 阶段,map 函数同时读取两个文件 File1 和
25、File2,为了区分两种来源的 key/value 数据对,对每条数据打一个标签(tag),比如:tag=0 表示来自文件 File1,tag=2 表示来自文件 File2。即:map 阶段的主要任务是对不同文件中的数据打标签。在 reduce 阶段,reduce 函数获取 key 相同的来自 File1 和 File2 文件的 value list,然后对于同一个key,对 File1 和 File2 中的数据进行 join(笛卡尔乘积)。即:reduce 阶段进行实际的连接操作。2.2 map side join 之所以存在 reduce side join,是因为在 map 阶段不能获取
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Hadoop 试题 汇总
限制150内