数据岗位面试题更新 2026-08-05

请说明 HDFS 中 NameNode 承担哪些职责,并阐述它是通过什么机制来维护文件系统的元数据的。

数据技术原理HDFS

考察说明

考查对 HDFS NameNode 职责及元数据管理机制的理解。

回答思路

  1. 【回答框架 1】NameNode 是 HDFS 的主节点,负责管理文件系统的命名空间,维护文件、目录的元数据,包括文件块到 DataNode 的映射,并处理客户端的读写请求。
  2. 【回答框架 2】NameNode 将元数据保存在内存中以加快访问,同时通过持久化日志(EditLog)记录所有对元数据的修改操作,并以定期生成的镜像文件(FsImage)作为元数据的基础快照。
  3. 【回答框架 3】客户端对文件的创建、删除、重命名等操作会先由 NameNode 更新内存元数据并记录到 EditLog,之后落盘确保持久性。读取文件时,NameNode 返回文件块在各 DataNode 的位置列表,由客户端直接与 DataNode 通信。
  4. 【回答框架 4】NameNode 自身是单点,通过 Secondary NameNode 定期合并 EditLog 和 FsImage,但并不能提供热备,现代版本使用 Quorum Journal Manager 或 Observer NameNode 实现高可用。
  5. 【关键点 1】NameNode 管理命名空间、文件块映射和客户端交互。
  6. 【关键点 2】元数据常驻内存,利用 EditLog 和 FsImage 进行持久化。
  7. 【关键点 3】Secondary NameNode 合并日志,但非热备。
  8. 【关键点 4】高可用方案采用 QJM 或 Observer NameNode。
  9. 【易错点 1】混淆 Secondary NameNode 为备份节点,其实际只负责日志合并。
  10. 【易错点 2】认为元数据可以全部存储在磁盘上,实际为了性能常驻内存。