2024最新HDFS核心面试知识点梳理

本文详细解析了HDFS的核心组件,包括NameNode的命名空间管理、DataNode的数据存储和心跳机制,以及SecondaryNameNode的角色。阐述了NameNode启动过程、HDFS读写数据流程,以及高可用性和数据安全性的保障机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. HDFS 组织架构

1.1 NameNode

  1. 管理HDFS的命名空间,并以fsimage和edit进行持久化保存;
  2. 在内存中维护数据块的映射信息;
  3. 实施副本冗余策略;
  4. 处理客户端的访问请求。
    在这里插入图片描述

1.2 DataNode

  1. 负责实际的数据块的存储;
  2. 定期向NameNode发送信息,报告自己的状态(心跳机制),没有按时发送心跳信息的DataNode会被NameNode认定为宕机;
  3. 处理客户端的读写操作。

1.3 SencondaryNameNode

帮助NameNode定期合并fsimage和edits文件。

1.4 Client

  1. 切分文件。文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行存储;
  2. 与NameNode交互,获取文件的位置信息;
  3. 与DataNode交互,读取或者写入数据;
  4. Client提供一些命令来管理HDFS,比如启动关闭HDFS、访问HDFS目录及内容等。

1.5 命名空间

文件系统树以及整棵树内所有的文件和目录的元数据

1.6 映像文件 fsimage

命名空间镜像文件,它是文件系统元数据的一个完整的永久检查点,内部维护的是最近一次检查点的文件系统树和整棵树内部的所有文件和目录的元数据,如修改时间,访问时间,访问权限,副本数据,块大小,文件的块列表信息等等,fsimage默认存储两份,是最近两次检查点。

2. NameNode在启动的时候会做哪些操作

NameNode数据存储在内存和本地磁盘,本地磁盘数据存储在fsimage镜像文件和edits编辑日志文件

2.1 首次启动NameNode

  1. 格式化文件系统,生成fsimage镜像文件;
  2. 启动NameNode
    (1)读取fsimage文件,将文件内容加载进内存;
    (2)等待DataNade注册与发送block report;
  3. 启动DataNode
    (1)向NameNode注册;
    (2)发送block report;
  4. 对文件系统进行操作(创建目录,上传文件,删除文件等)
    (1)此时内存中已经有文件系统改变的信息,但是磁盘中没有文件系统改变的信息,此时会将这些改变信息写入edits文件中,edits文件中存储的是文件系统元数据改变的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值