大数据hdfs面试

本文详细介绍了HDFS面试中常见的问题,包括HDFS的定义、数据修改方式、读写流程、Block大小调整、Hadoop1.x与2.x的区别、NameNode高可用方案、降低副本数的方法以及SecondaryNameNode的Checkpoint过程。HDFS是分布式文件存储系统,不支持频繁修改,其读写流程涉及NameNode与DataNode的交互,Block默认为128MB,可通过设置调整。Hadoop2.x引入了NameNode高可用,通过Zookeeper实现故障转移。
摘要由CSDN通过智能技术生成

以下是一些我在面试时候碰到的关于hdfs的面试问题

什么是hdfs

分布式文件存储系统,元数据存放在namenode中,它是通过目录树的方式定位文件

hdfs上的数据怎么修改

它适合一次写入多次读出,不适合修改

hdfs的读写流程


1客户端通过distributed FileSystem向nameNode请求上传文件
2nameNode返回是否允许上传
3客户端将第一个block向nameNode请求dataNode节点
4NameNode返回配置的副本节点数
5客户端通过fs dataoutputput Stream模块请求上传数据 dn1收到请求继续调用dn2、dn3,将通道建立完成
6dn1、dn2、dn3逐级应答客户端
7建立好通道之后开始上传block并落盘
8第一个block完成之后重复请求落盘操作

:1客户端通过distributed fileSystem向nameNode请求下载文件,nameNode通过查询元数据找到文件所在dataNode位置
2就近原则选择dataNode节点读取数据
3客户端以pocket接收,先在本地缓存然后写入目标文件

block块大小,能否调整,能否超过128M

block128M ,可以调整大小,可以超过128M但是最优为128M

hadoop1.x与hadoop2.x有什么区别

1.x中的nameNode只能有一个,虽然可以通过2NN同步备份数据,但总有延时
2.x中增强了nameNode的水平扩展及可用性,可以部署多个nameNode相互独立,DataNode同时在所有nameNode上注册

NameNode高可用怎么做

故障转移:两个nameNode的状态放在zookeeper中,有一个进程监控程序实时读取zookeeper的状态判断是否宕机,如果宕机了强制关掉active的机器,standby顶上

如何降低副本数

hadoop fs -setrep -w 2-R /路径

SecondaryNameNode的checkpoint

一开始以为是spark的checkpoint,后来反应过来是辅助nameNode合并fsimage和edits的
如果是第一次启动nameNode会格式化之后生成一个edits和fsimage,如果不是第一次启动则直接加载edits和fsimage到内存中,首先会滚动edits并生成一个空的edits_inprogress,然后加载归档后的edits和fsimage到内存中此时nameNode就会持有最新的元数据信息,客户端发送增删改请求,这些请求会被记录到edits_inprogress中,如果此时nameNode挂掉,重启后悔从edits中读取元数据信息,然后再执行元数据的增删改操作,由于edits中记录的操作会越来越多,需要合并eduts和fsimage,2NN就是辅助NN进行合并,他首先会询问是否需要checkpoint(edits写满的时候或者定时辅助nameNode checkpoint 默认3600s 64M执行)

fsimage:nameNode内存中元数据序列化之后形成的文件
edits:记录客户端更新元数据之后的每一步操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值