- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
HDFS面试题及答案(实战版)
一、基础概念与架构题
面试官:HDFS的NameNode和DataNode主要职责是什么?实际部署中要注意什么?
答:NameNode管元数据——比如文件路径、块的位置映射、权限这些,相当于集群的“大脑”;DataNode就是存实际数据块的,还得定期给NameNode发心跳(默认3秒一次)报状态。
部署要注意两点:一是NameNode内存要够,因为元数据全放内存里,小文件多的话内存容易撑爆;二是DataNode磁盘别混用,比如别把系统盘和数据盘放一起,不然写数据时会影响系统稳定性。
面试官:HDFS默认块大小是128M,为什么不设成更小(比如4M)或更大(比如1G)?
答:主要为了平衡“IO效率”和“元数据开销”。设小了比如4M,一个大文件会拆成很多块,NameNode要存大量块的元数据,内存扛不住,而且每次读块都要建立连接,IO开销大;设太大比如1G,单个块传输时间太长,要是中间断了重传成本高,而且MapReduce处理时一个块对应一个Map任务,太大了任务并行度会降低。实际业务里如果是大文件(比如视频、日志),128M刚好,小文件多的话可能会调小到64M,但很少更大。
面试官:HDFS副本机制是怎么回事?默认3个副本怎么放的?
答:副本是为了防数据丢,默认存3份。放置策略是“机架感知”的:第一份放客户端所在的DataNode(如果客户端在集群内);第二份放同机架的另一个DataNode;第三份放不同机架的DataNode。这样就算一个机架断电,还有两份在不同地方,安全性够,而且同机架的副本读的时候速度快,不用跨机架走带宽。
二、进阶原理题
面试官:NameNode的元数据存在哪里?edits和fsimage有什么区别?
答:元数据分两部分:内存里一份(实时用),磁盘上存edits和fsimage。fsimage是元数据的快照(比如某一时刻的文件目录、块信息),edits是快照之后的操作日志(比如新建文件、删除块这些动作)。
平时NameNode启动时,会把fsimage加载到内存,再回放edits里的操作,这样就能恢复到必威体育精装版的元数据状态。要是没edits,只靠fsimage的话,上次快照之后的操作就丢了。
面试官:SecondaryNameNode是NameNode的备节点吗?实际作用是什么?
答:不是备节点!很多人容易搞混。SecondaryNameNode主要是帮NameNode合并edits和fsimage,避免edits文件越来越大。比如默认每隔1小时(或edits到64M),它会拉取NameNode的edits和fsimage,合并成新的fsimage再发回去。这样NameNode重启时,回放的edits就少了,启动速度快。真正的备节点是HA架构里的StandbyNameNode。
面试官:HDFS的HA架构怎么解决NameNode单点故障?关键组件有哪些?
答:HA是用两个NameNode(Active和Standby),Active负责正常业务,Standby实时同步元数据,一旦Active挂了,Standby能立刻顶上。
关键组件有三个:一是JournalNode(至少3个),用来存edits日志,Active写日志到JournalNode,Standby从这读,保证元数据同步;二是ZKFC(ZooKeeperFailoverController),每个NameNode上都有,监控NameNode状态,Active挂了就通过ZooKeeper选主,让Standby变成Active;三是ZooKeeper,负责分布式锁和状态存储,防止脑裂(比如两个NameNode同时当Active)。
三、实战运维题
面试官:集群里有些DataNode磁盘快满了,有些还很空,怎么处理?
答:用HDFS自带的Balancer工具做数据均衡。先设置阈值,比如hdfsdfsadmin-setBalancerBandwidth设置均衡时的带宽,避免影响业务,默认1M,这里设10M),然后执行start-balancer.sh-threshold10,意思是当节点间磁盘使用率差异超过10%时就开始均衡。
注意两点:一是均衡时别和大数据任务(比如Spark作业)同时跑,会抢带宽;二是如果个别磁盘满了,也可以手动迁移块,用hdfsdfsadmin-moveBlock块ID源DataNo
您可能关注的文档
最近下载
- 2025-2026学年初中数学八年级上册(2024)青岛版(2024)教学设计合集.docx
- 紫砂壶历代名家.doc VIP
- 某银行新员工国际业务培训课件.ppt VIP
- 有理数的乘方(公开课).ppt VIP
- 牙髓炎临床表现及诊断.ppt VIP
- 2025-2030年中国水利工程勘察设计市场运营状况与发展潜力分析报告.docx
- 六年级上册数学试题-第一二单元测试卷-苏教版-含答案.docx VIP
- 2024-2025学年初中数学八年级上册青岛版(2024)教学设计合集.docx
- NBT47021-2012甲型平焊法兰.docx VIP
- 2025年危险品水路运输从业资格考试复习题库资料(浓缩500题).pdf
文档评论(0)