【史上最全】Hadoop精选18道面试题(附回答思路)

这篇具有很好参考价值的文章主要介绍了【史上最全】Hadoop精选18道面试题(附回答思路)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.简述Hadoop1和Hadoop2的架构异同

HDFS HA(High Availablity)
	一旦Active节点出现故障,就可以立即切换到Standby节点,避免了单点故障问题。
	加入了对zookeeper支持实现比较可靠的高可用。
	
YARN
	将MapReduce1.0中的资源管理调度功能分离出来形成了YARN,一个纯粹的资源任务管理调度框架,避免了内存受限问题。

2.简述HDFS

Hadoop分布式文件系统

文件系统
	目录树定位文件
	
分布式
	数据大,要拆,要分,再存。
	"拆":block 128M
	"分":编号,找namenode,分配
	"存":传完第一份后内网互传
		  副本机制,一式三份
		  均衡

3.Hadoop生态系统与Hadoop框架

Hadoop生态系统除Hadoop之外,还包含zookeeper、Flume、Hbase、Hive、Sqoop等辅助框架

4.Hadoop核心组件(定义+组成+优点(思想))

HDFS 分布式文件系统 提供高吞吐量的数据访问和存储,特别适合大数据集的分布式存储。
	 NameNode*2(Active|Standby)+DataNode*N
	 具有高容错性 支持流式访问
	 
MapReduce 分布式计算框架 用于大规模数据集的并行处理
	 Map+Shuffle+Reduce
	 分而治之 构造抽象模型
	 
YARN 分布式资源管理系统 负责任务调度和集群资源管理
	 ResourceManager & ApplicationManager
		NodeManager
HDFS角色
	 NameNode,DataNode,SecondaryNameNode
Hadoop架构
	 HDFS——分布式文件系统
	 MapReduce——分布式计算框架
	 YARN——分布式资源管理系统
	 Commons

5.Block大小

如果一个文件小于128M,它只占用文件本身大小的空间,其它空间别的文件也能用。
Block大小设置主要取决于磁盘传输速率。
(把文件分为N块,读取文件时就要寻址N次)

6.NameNode与SecondaryNameNode的区别与联系

区别
1)NameNode存储了文件系统下所有目录和文件的访问,修改,执行时间,块大小,执行权限等
2)SecondaryNameNode并非NameNode的热备(≠ StandBy NameNode)。定期触发CheckPoint(服务),代替NameNode合并EditLog和fsimage文件。

联系
1)SecondaryNameNode中保存了一份和NameNode一致的fsimage和edits文件。但是,NameNode还有一份正在使用的编辑日志edit_inporgress,这是SecondaryNameNode没有的。
2)在主namenode发生故障时(假设没有及时备份数据),可以从SecondaryNameNode恢复历史的数据。

7.SecondaryNameNode的目的是什么

SecondaryNameNode定期触发CheckPoint,代表NameNode合并编辑日志EditLog和镜像文件Fsimage,从而减小EditLog的大小,减少NN启动时间。
同时在合并期间,NameNode也可以对外提供写操作。

8.HDFS的读/写数据流程

HDFS的写(上传)数据流程

hadoop面试题,大数据面试题,hadoop,大数据,分布式

1)HDFS client创建DFS对象,通过该对象向NameNode请求上传文件,NameNode检查权限,并判断该目标文件是否已存在。
2)如果权限许可,目标文件也存在,NameNode响应请求。
3)客户端请求第一个Block上传到哪几台DataNode服务器上。
4)NameNode返回3个DataNode结点
5)HDFS client创建FS DataOutputStream数据流对象,请求dn1建立传输通道,dn1接收到请求之后会继续调用dn2建立通道…
6)传输通道建立完成之后,dn1,dn2,dn3逐级应答客户端。
7)客户端开始往dn1上传第一个Block,dn1利用通道传向dn2,dn2利用通道传向dn3…(直到传到Block副本应在的位置停止)
8)当一个Block传输完成之后,客户端再次请求NameNode上传第二个Block到服务器。(重复3-7步)

HDFS的读数据流程

hadoop面试题,大数据面试题,hadoop,大数据,分布式

1)HDFS client创建DFS对象,该对象向NameNode请求下载文件,NameNode通过查询元数据,找到文件块所在的DataNode地址。
2)挑选一台DataNode(要考虑结点距离最近选择原则,DataNode负载均衡)服务器,请求读取数据。
3)数据从DataNode传到客户端,如果在传输过程中出现宕机,才会考虑向含有该副本的其他节点获取数据。
4)客户端接收,写在本地缓存,然后写入目标文件。

9.请简述DataNode的工作机制

1)一个数据块在DataNode上以文件的形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据的校验信息。
2)DataNode 启动后向 NameNode 注册,之后周期性(默认 6 小时)的向 NameNode 上报所有的块信息。同时,DN 扫描自己节点块信息列表的时间,检查DN中的块是否完好,如果某块磁盘损坏,就将该块磁盘上存储的所有 BlockID报告给NameNode。
3)心跳是每 3 秒一次,心跳返回结果带有 NameNode 给该 DataNode 的命令如复制块数据到另一台机器,或删除某个数据块。 如果超过 10 分钟 + 30s 没有收到某个 DataNode 的心跳,则认为该节点不可用。

10.如果数据误删,如何抢救?

1.立即关闭Hadoop服务
2.打开edit_log文件,删除未发送的心跳包的命令

11.如何理解Hadoop中的数据倾斜现象?

A.可能因为HDFS的存储不均衡:可能的原因是后扩展了集群的几台机器
B.使用默认的HashPartitoner
C.输入数据中不均匀的键分布
解决方法:执行 /opt/software/hadoop-3.1.3/sbin/start-balancer.sh

12.Namenode和Datanode的心跳机制:

心跳是datanode向namenode发送的小数据包,表明它是活跃的。默认情况下,
每3秒datanode就会向namenode发送一次心跳信号。如果namenode在10分钟内
没有收到任何datanode的心跳,它会将该datanode标记为“死亡”,并开始数据
的复制过程,将其复制到其他datanode,以保持数据的冗余和可靠性。

13.Safe Mode

Safe Mode是HDFS的一种状态,在此状态下,系统处于只读模式,不会进行数据块的复制或删除。
这通常用于系统维护或故障恢复。
管理员可以使用命令"hdfs dfsadmin -safemode enter"进入安全模式,"hdfs dfsadmin -safemode leave"退出安全模式,而"hdfs dfsadmin -safemode get"则用来查询系统是否处于安全模式。

14.Hadoop启动流程

首先,启动HDFS,通常包括启动namenodes,datanodes和secondary namenodes。
其次,启动YARN的资源管理器和节点管理器。
最后,如果在集群中运行MapReduce作业,则还需要启动MapReduce的历史服务器。

15.如何检查?

检查服务:jps
检查路径:
cd /opt/software/hadoop-3.1.3/logs/hadoop-root-namenode-single.log
检查端口:netstat -anutp | grep 9870
检查安全模式:hdfs dfsadmin -safemode get
重启服务

16.YARN的组成架构

ResourceManager,NodeManager,ApplicationMaster,Container

ResourceManager
	全局资源管理调度分配
	ResourceScheduler
		全局资源的调度与分配
	ApplicationManager
		接收客户端请求,监控NodeManager,启动和监控ApplicationMaster,必要时进行重启。
		
NodeManager
	管理节点的资源与任务
	定时向RM汇报节点的资源使用情况和容器运行情况
	接受来自RM的开启或关闭Container的指令
	接受来自AM分配MapTask|ReduceTask的指令
	
ApplicationMaster
	负责整个应用程序
	负责数据切片
	向RM申请资源
	分配MapTask|ReduceTask,启动或停止Container中的task
	容错
Container
	资源封装(CPU|DISK|MEM)
	虚拟机

17.YARN的工作原理

hadoop面试题,大数据面试题,hadoop,大数据,分布式

18.Hadoop HA的整体架构

1.主备NameNode
2.主备控制转换器ZKFC
3.Zookeeper
4.JournalNodes
5.DataNode文章来源地址https://www.toymoban.com/news/detail-851696.html

到了这里,关于【史上最全】Hadoop精选18道面试题(附回答思路)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 史上最全141道大数据面试题:Redis+Linux+kafka

    数据传输的事物定义有哪三种? Kafka 判断一个节点是否还活着有那两个条件? producer 是否直接将数据发送到 broker 的 leader(主节点)? Kafa consumer 是否可以消费指定分区消息? Kafka 消息是采用 Pull 模式,还是 Push 模式? Kafka 存储在硬盘上的消息格式是什么? Kafka 高效文件存储

    2024年04月17日
    浏览(27)
  • 史上最全的2023最新大数据面试笔记【200+页,10w+字】

    简介 :我本硕都是双非计算机专业,研二开始学习大数据开发的相关知识,从找实习到秋招,投递过100+公司,拿到过 10+ 的offer,包括滴滴、字节、蚂蚁、携程、蔚来、去哪儿等大厂,现在已经签约 蚂蚁数据研发工程师 。依稀还记得刚开始找工作,从零开始准备八股文的时

    2024年02月06日
    浏览(35)
  • 最全Hadoop实际生产集群高可用搭建

    序号 bigdata-001 bigdata-002 bigdata-003 bigdata-004 bigdata-005 IP x x x x x x xxx xxx xxx 组件 hadoop1 hadoop2 hadoop3 hadoop4 hadoop5 内存 64G 64G 128G 128G 128G CPU核 16 16 32 32 32 Hadoop-3.3.4 NameNode NameNode DataNode DataNode DataNode ResourceManager ResourceManager NodeManager NodeManager NodeManager DFSZKFailoverController DFSZKFailoverCont

    2024年02月03日
    浏览(35)
  • 史上最全C/C++面试八股文,一文带你彻底搞懂C/C++面试!

    目录 1.讲一讲封装、继承、多态是什么? 2.多态的实现原理(实现方式)是什么?以及多态的优点(特点)? 3.final的作用是什么? 4.虚函数是怎么实现的?它存放在哪里在内存的哪个区?什么时候生成的 5.智能指针的本质是什么,它们的实现原理是什么? 6.匿名函数

    2024年02月08日
    浏览(35)
  • 史上最全,从初级测试到高级测试开发面试题汇总,冲击大厂年50w+

    接口测试面试相关 按你的理解,软件接口是什么? HTTPS在哪一层? get和post区别是什么? 常见的POST提交数据方式 cookie和session的区别 请问你们公司是如何做接口测试的? 怎么设计接口测试用例? 你做接口测试,测什么? 没有接口文档,如果做接口测试? 依赖于第三方数据

    2024年02月05日
    浏览(33)
  • 三台异构服务器搭建hadoop HA集群史上最详细方案(HDFS+YARN)

     一、系统基础服务配置 主机名 IP 操作系统 CPU 内存 磁盘 Hive01 10.86.102.104 Centos 7.9.2009 Xeon 4208 X16 192G 46T Hive02 10.86.102.102 Centos 7.9.2009 Xeon 4208 X16 192G 46T Hive03 10.86.102.105 Centos 7.9.2009 Xeon 8260 X48 256G         11T 最终组成的是一个双副本56T的集群,设置YARN内存共400GB(可调) 3台服务

    2024年02月07日
    浏览(44)
  • 搭建Hadoop过程的问题与网络排错思路

    虚拟机复制问题 在复制搭建三台虚拟机的时候,没有让虚拟机关机而是选择挂起,在挂起的时候虚拟机文件是只读状态的,应用层的软件VMware不能修改其中的参数,这样会导致虚拟机的MAC地址出现冲突进而导致无法在ARP层通信,也就不能实现联网。但是软件认为他已经将配置

    2024年02月01日
    浏览(30)
  • Hadoop3.1.3安装教程_单机/伪分布式配置_Hadoop3.1.3/Ubuntu18.04(16.04)

    目录 前言: 一、VMware Workstation 二、Ubuntu系统安装 新建虚拟机 三、Ubuntu系统的配置 四、更新apt 五、安装SSH、配置SSH无密码登陆  六、安装Java环境 七、安装 Hadoop3.1.3 八、Hadoop单机配置(非分布式) 九、Hadoop伪分布式配置 前言:         本篇教程由作者本人进行修改,原教

    2024年02月03日
    浏览(32)
  • 史上最全类和对象 ,只要你认真看完C++类和对象,分分钟钟都吊打面试官【 C++】

    C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 比如一个创建一个外卖系统 对于面向过程来说,我们关注的是下单、接单、送餐三个过

    2024年02月06日
    浏览(36)
  • 一文搞懂什么是Hadoop?Hadoop的前世今生,Hadoop的优点有哪些?Hadoop面试考查重点,大数据技术生态体系

    目录 1.1 Hadoop 是什么  1.2 Hadoop 发展历史 1.3 Hadoop 三大发行版本  1.4 Hadoop优势(4高)  1.5 Hadoop 组成(面试重点)  1.5.1 HDFS 架构概述   1.5.2 YARN 架构概述   1.5.3 MapReduce 架构概述   1.5.4 HDFS、YARN、MapReduce 三者关系   1.6 大数据技术生态体系  1.7 推荐系统框架图   (1 ) Had

    2024年02月01日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包