Hadoop 核心面试题及参考答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Hadoop核心面试题及参考答案

一、基础概念类

问题:Hadoop核心组件有哪些?各自的作用是什么?

答案:核心组件主要是HDFS、MapReduce、YARN三个。HDFS是分布式文件系统,负责海量数据的存储,特点是高容错、高吞吐量,适合大文件存储;MapReduce是分布式计算框架,把复杂任务拆成Map(映射)和Reduce(归约)两个阶段,并行处理数据;YARN是资源调度和任务管理平台,负责给集群中的任务分配CPU、内存等资源,协调各个节点的工作,让资源利用更高效。

问题:Hadoop和传统关系型数据库(比如MySQL)的区别是什么?适用场景有哪些不同?

答案:区别主要在数据存储、处理方式和适用场景。Hadoop适合存非结构化/半结构化数据(比如日志、视频),支持PB级数据,处理是离线批量计算,延迟高但吞吐量高;传统数据库适合结构化数据,存储量一般到TB级,支持实时查询和事务(ACID),延迟低。适用场景:Hadoop用来做大数据离线分析(比如用户行为统计、日志挖掘),传统数据库用来做在线业务(比如电商订单、用户信息管理)。

问题:什么是Hadoop的分布式集群架构?NameNode和DataNode的角色分工是什么?

答案:Hadoop集群是主从架构(Master/Slave)。NameNode是Master节点,相当于HDFS的“大脑”,不存实际数据,只管理元数据(比如文件路径、数据块位置、副本数),负责接收客户端的读写请求,协调DataNode工作;DataNode是Slave节点,是实际存储数据的节点,把数据拆成固定大小的数据块(默认128MB),并根据NameNode的指令进行数据的读写、复制,同时定期向NameNode汇报自身状态。

二、HDFS核心类

问题:HDFS的数据块(Block)默认大小是多少?为什么要设置这么大?

答案:默认是128MB(Hadoop2.x及以上版本),之前1.x是64MB。设置大的原因是减少寻址时间:数据块越大,硬盘寻道(找到数据所在物理位置)的时间占比就越小,传输数据的时间占比越大,这样能提高整体吞吐量。比如读取1GB数据,用128MB块只需要8次寻道,用1MB块需要1024次寻道,寻道次数多会严重拖慢速度。但也不能太大,否则单个块传输时间太长,MapReduce任务拆分后并行度不够。

问题:HDFS的副本机制是什么?默认副本数是多少?副本放置策略是怎样的?

答案:副本机制是HDFS高容错的核心,就是把一个数据块复制多份存到不同节点,防止单个节点故障导致数据丢失。默认副本数是3。放置策略:第一份副本存到客户端所在节点(如果客户端在集群内);第二份存到和第一份不同机架的节点;第三份存到和第二份同机架但不同节点的位置;如果副本数更多,再随机分配到集群内空闲节点,这样既保证容错(跨机架),又减少跨机架传输的带宽消耗。

问题:NameNode挂了怎么办?有哪些高可用方案?

答案:NameNode是HDFS的单点故障点,挂了之后集群就没法正常读写数据了。高可用方案主要是HDFSHA(HighAvailability):部署两个NameNode,一个Active(活跃)节点,一个Standby(备用)节点。Active节点负责日常工作,Standby节点实时同步Active的元数据(通过JournalNode集群同步编辑日志),当Active挂了,Standby能快速切换成Active,继续提供服务。另外,之前的老方案是SecondaryNameNode,但它不是备用节点,只是定期合并元数据的编辑日志和镜像文件,减轻NameNode负担,只能用于数据恢复,不能实时切换。

三、MapReduce核心类

问题:MapReduce的工作流程是什么?请详细说一下从数据输入到结果输出的过程。

答案:整个流程大概分6步:①输入分片(InputSplit):把输入文件拆成多个Split(默认大小和HDFS块一致),每个Split对应一个Map任务;②Map阶段:Map任务读取Split数据,按用户定义的逻辑处理(比如提取关键字、统计次数),输出key,value键值对,之后会进行本地排序;③分区(Partition):把Map输出的键值对按key分区,默认用Hash分区,确保相同key的数据分到同一个Reduce任务;④洗牌(Shuffle):这是核心步骤,包括复制(Reduce从各个Map节点复制属于自己的分区数据)、排序合并(把复制来的零散数据排序、合并,

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档