hadoop常见笔试题答案_第1页
hadoop常见笔试题答案_第2页
hadoop常见笔试题答案_第3页
hadoop常见笔试题答案_第4页
hadoop常见笔试题答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hadoop测试题.填空题,1分(41空),2分(42空)共125分1. (每空1分)datanode负责HDFS数据存储。2. (每空1分)HDFS中的block默认保存3 份。3. (每空1分)ResourceManager程序通常与 NameNode在一个节点启动。4. (每空1分)hadoop运行的模式有:单机模式、 伪分布模式 、完全分布式。5. (每空1分)Hadoop集群搭建中常用 的4个配置文件为:core-site.xml、hdfs-site.xml、 mapred-site.xml 、yarn-site.xml。6. (每空2分)HDFS将要存储的大文件进行分割, 分割 后

2、存放在既定的存储块中,并通过预先设定的优化处理,模式对存储的数据进行预处理,从而解决了大文件储存与计算的需求。7. (每空2分)一个HDFS集群包括两大部分,即name node 与data node 。一般来说,一个集群中会有一个 name node 和多个data node 共同工作。8. (每空2分)name node是集群的主服务器,主要是用于对HDFS中所有的文件及内容数据进行维护,并不断读取记录集群中 data node 主机情况与工作状态,并通过读取与写入镜像日志文件的方式进行存储。9. (每空2分)data node在HDFS集群中担任任务具体执行角色,是集群的工作节点。文件被

3、分成若干个相同大小的数据块,分别存储在若干个datan ode 上, data node会定期向集群内 name node发送自己的运行状态与存储内容,并根据nam node发送的指令进行工作。10. (每空2分)name node负责接受客户端发送过来的信息,然后将文件存储位置信息发送给clie nt ,由clie nt直接与data node进行联系,从而进行部分文件的运算与操作。11. (每空1分)block 是HDFS的基本存储单元,默认大小是128M。12. (每空1分)HDFS还可以对已经存储的Block进行多副本备份,将每个 Block至少复制到个相互独立的硬件上,这样可以快速恢

4、复损坏的数据。13. (每空2分)当客户端的读取操作发生错误的时候,客户端会向name node报告错误,并请求name node排除错误的data node 后,重新根据距离排序,从而获得一个新的的读取路径。如果所有的data node都报告读取失败,那么整个任务就读取失败。14. (每空2分)对于写出操作过程中出现的问题,FSDataOutputStream并不会立即关闭。客户端向Namen ode报告错误信息,并直接向提供备份的data node中写入数据。备份data node被升级为首选 data node ,并在其余 2个data node 中备份复制数据。hdfs n ame n

5、ode format start-dfs.shstart-yarn.sh stop-dfs.shNameNode寸错误的DataNode进行标记以便后续对其进行处理。15. (每空1分)格式化HDFS系统的命令为:16. (每空1分)启动hdfs的shell脚本为17. (每空1分)启动yarn的shell脚本为18. (每空1分)停止hdfs的shell脚本为19. (每空1分)hadoop创建多级目录(如:/a/b/c )的命令为:hadoop fs - mkdir - p/a/b/c 。20. (每空1分)hadoop显示根目录命令为: hadoop fs - Isr 。21. (每空

6、1分)hadoop 包含的四大模块分别是:Hadoop common 、HDFS 、Mapreduce 、 yarn 。22. (每空1分)namenode默认的WebUI访问端口号为:50070。23. (每空1分)ResourceManager默认的WebUI访问端口号为:8088。24. (每空1分)historyServer默认的 WebUI访问端口号为:19888。25. (每空 1 分)修改 blocksize 大小的属性是:dfs.blocksize ,在 hdfs-site.xml 配置文件里。26. (每空1分)HDFS中name node的RPC端 口号为:8021,其作用

7、是:接收Clie nt 连接的 RPC端口,用于获取文件系统metadata 信息 。27. (每空2分)Mapper类中有_4个函数。28. (每空1分)默认NameNod凋期性从DataNode接收心跳信号的时间间隔为:3s 。29. (每空1分)hadoop集群默认机架感知是启用的。是否正确:错误 。30. (每空 2 分)Hadoop Map/Reduce Shuffle 过程:inputsplit-map函数一 内存缓冲区Partiti onsortcomb ine spill-map 端 merge -reduce 端copy merge reduce 函数。31. (每空2分)一

8、个NodeManager能够同时运行最大 reduce任务数(默认):2。32. (每空2分)默认情况下,一个同时运行了 name node, seco ndary name node 和ResourceManager的主节点,所使用的内存容量为3000 M 。33. (每空2分)Hadoop集群中有三种作业调度算法,分别为FIFO 调度 ,计算能力调度和公平调度。34. (每空1分)HA产生的背景是:为了解决单 NN可能出现宕机导致集群不可用或数据丢失的问题 。35. (每空1分)通过 Zookeeper管理两个或者多个 NameNode使一个 NameNode为active 状态,并且同步

9、每个NN的元数据,如果active 状态的NN宕机后马上启用状 态为standby 状态的备用节点。36. (每空1分)job是客户端需要执行的一个工作单元。37. (每空1分)Hadoop将作业分成若干个task来执行,其中包括:maptask 和reducetask 。38. (每空2分)combiner是通过 Reducer类来定义的。39. (每空2分)map任务将其输出写入到本地磁盘 。40. (每空2分)reduce的输出通常存储在 HDFS 中以实现可靠存储。41. (每空2分)HDFS会对写入的所有数据计算校验和,并在读取数据时验证校验42. (每空2分)序列化用于分布式数据处

10、理的两大领域为:讲程间通信 和 永久存储43. (每空2分)hadoop使用自己的序列化格式为:Writable 。简答题,3分(17题),5分(5题)共75分1. (3分)简要描述如何安装配置 apache的一个开源hadoop,只描述即可,无需列出具体步骤,列出具体步骤更好。答:1 使用 root 账户登录2 修改 IP3 修改 host 主机名4配置SSH免密码登录5 关闭防火墙6 安装 JDK7 解压 hadoop 安装包8 配置 hadoop 的核心文件 hadoop-env.sh , core-site.xml , mapred-site.xml,hdfs-site.xml9 配置

11、 hadoop 环境变量10 格式化 hadoop namenode -format11 启动节点 start-all.sh2. (3分)请列出正常的hadoop集群中hadoop都分别需要启动哪些进程,他们的作用分别都是什么,请尽量列的详细一些。答:name node管理集群,存储数据的原信息,并管理记录data node中的文件信息。secondarynamenode : 它是 namenode的一个快照, 会根据 configuration中设置的值来决定多少时间周期性的去cp 一下name node,记录name node中的metadata及其它数据。Data node :存储数据R

12、esourceManager: ResourceManager 负责集群中所有资源的统一管理和分配,它接收 来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个 应用程序(实际上是 ApplicationManager )NodeManager:是YARN中每个节点上的代理,它管理Hadoop集群中单个计算节点(3 分) 请写出以下的 shell 命令( 1)杀死一个 job( 2)删除 hdfs 上的 /tmp/aaa 目录 (3)加入一个新的存储节点和删除一个节点需要执行的命令 答:(1) map red job -list得到 job 的 id,然后

13、执行 mapred job - kill jobId就可以杀死一个指定 jobId 的 job 工作了。(2)hadoop fs -rmr /tmp/aaa 或者 hdfs dfs - rmr /tmp/aaa( 3)增加一个新的节点在新的节点上执行hadoop-daemon.sh start datanode 然后在主节点中执行 hdfs dfsadmin -refreshNodes 删除一个节点的时候,只需要在主节点执行hdfs dfsadmi n - refresh no des3. (3 分) 请简述 mapreduce 中的 combine 和 partition 的作用答:comb

14、iner是发生在 map的最后一个阶段,其原理也是一个小型的reducer ,主要作用是减少输出到 reduce 的个数,减少 reducer 的输入,提高 reducer 的执行效率。Partition的主要作用就是指定输出到reduce的个数的。4. (3分)hdfs的体系结构答:HDFS采用了主从(Master/Slave )结构模型,一个 HDFS集群是由一个 NameNode和若 干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对 文件的访问操作;集群中的DataNode管理存储的数据5. (3分)三个data node中当有一个 data

15、 node出现错误时会怎样? 答:当有一个data node出现错误的时候,name node会将那个data node上的数据拷贝到其 他的节点去进行存储。6. (3分)文件大小默认为 64M,改为128M有什么影响?答:更改文件的block块大小,需要根据我们的实际生产中来更改 block的大小,如果block 定义的太小,大的文件都会被切分成太多的小文件,减慢用户上传效率,如果block定义的太大,那么太多的小文件可能都会存到一个 block块中,虽然不浪费硬盘资源, 可是还是会 增加name node的管理内存压力。7. (3 分)NameNode与 SecondaryNameNode

16、的区别与联系?答:seco ndaryNameNode更像是 Name node的一个冷备份,当 name node宕机之后,可以从 Seco ndaryName node上面恢复部分数据。8.(5分)在一个运行的 hadoop任务中,什么是InputSplit?答: UInputSplit是MapReduce对文件进仃处理和运算的输入单位,只是一个逻辑概念,每个InputSplit并没有对文件头际的切割,只是记录了要处理的数据的位置(包括文件的path和hosts)和长度(由start 和length 决疋),默认情况下与 block 一样大。9. (3分)参考下列 M/R系统的场景:hdf

17、s块大小为64MB输入类为File In putFormat ,有3个文件的大小分别为 64KB, 65MB, 127MB,Hadoop框架会把这些文件拆分为多 少块?答:64k 一个 block65MB- 两个文件:64MB是一个 block,1MB是一个 block127MB- 两个文件:64MB是一个 block,63MB 是一个 block10. (5 分)hadoop 中 RecordReader 的作用是什么?答:RecorderReader是一个接口,主要是用来读取文件的输入键值对的,我们也可以自定义输入的key,value对的读取规则。属于split和map per之间的一个过

18、程,将in putsplit输出的行为一个转换记录,成为key-value的记录形式提供给mapper11. (3 分)Map 阶段结束后,Hadoop框架会处理:Partitioning. Shuffle 和 Sort,在 这几个阶段都发生了什么?答:Partition 是对输出的key,value 进行分区,可以自定义分区,按照业务需求,将map的输出归分到多个不同的文件中将map的输出作为输入传给 reducer 称为shufflesort是排序的过程,将 map的输出,作为reduce的输入之前,我们可以自定义排 序,按照key来对map的输出进行排序12. (5分)如果没有定义par

19、titioner,那数据在被送达reducer前是如何被分区的?答:Partitioner 是在map函数执行context.write()时被调用。用户可以通过实现自定义的Partitioner来控制哪个key被分配给哪个 Reducer。hadoop有一个默认的分区类,HashPartioer 类,通过对输入的 k2去hash值来确认map输出的k2,v2送到哪一个reduce中去执行。13. (3 分)什么是 combiner ?答:comb in er就是规约操作,通过对 map输出的数量进行规约,可以减少 reduce的数量, 提高执行效率。combiner的输入输出类型必须和 ma

20、pper的输出以及reducer的输入类型一 致14. (3分)分别举例什么情况要使用combiner,什么情况不使用?答:求平均数的时候就不需要用 combiner,因为不会减少reduce执行数量。在其他的时候, 可以依据情况,使用 combiner,来减少map的输出数量,减少拷贝到 reduce的文件,从而 减轻reduce的压力,节省网络开销,提升执行效率15. (5分)简述Hadoop中replication(复本)放置策略?答:Hadoop的默认布局策略是在运行客户端的节点上放第一个复本;第二个复本放在与第一个不同且随机另外选择的机架中的节点上(离架);第三个复本与第二个复本放在

21、同一个机架上,且随机选择另一个节点。16. (5分)如何为一个hadoop任务设置 mappers的数量?答:map的数量通常是由hadoop集群的DFS块大小确定的,也就是输入文件的总块数,正 常的map数量的并行规模大致是每一个Node是10100个,对于CPU消耗较小的作业可以设置Map数量为300个左右,但是由于 hadoop的没一个任务在初始化时需要一定的时间,因 此比较合理的情况是每个map执行的时间至少超过1分钟。具体的数据分片是这样的,InputFormat在默认情况下会根据hadoop集群的DFS块大小进行分片,每一个分片会由一个map任务来进行处理,当然用户还是可以通过参数

22、mapred.min.split.size参数在作业提交客户端进行自定义设置 。还有一个重要参数就是 mapred.map.tasks ,这个参数设置的 map 数量仅仅是一个提示, 只有当 InputFormat 决定了 map 任务的个数比 mapred.map.tasks 值 小时才起作用。同样, Map 任务的个数也能通过 使用 JobConf 的 conf.setNumMapTasks(int num)方法来手动地设置。这个方法能够用来增加 map任务的个数,但是不能设定任务的个数 小于Hadoop系统通过分割输入数据得到的值。当然为了提高集群的并发效率,可以设置一 个默认的map数量,当用户的map数量较小或者比本身自动分割的值还小时可以使用一个相 对交大的默认值,从而提高整体hadoop集群的效率。17. (3分)hdfs文件写入的流程?答:1)Client

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论