基于YOLOv8的茶叶病虫害智能检测系统开发
2026/7/4 10:04:12
在HDFS(Hadoop分布式文件系统)中,fsimage文件是NameNode的关键持久化文件,其作用如下:
namenode 中存储的是元数据,而且是存储在内存中。 突然电脑宕机了,数据没了。所以namenode的元数据非常的重要,每隔一个小时,会将namenode 中的内存数据数据备份一下,变成了fsimage的东西,而且只保留最近的两次。
20230816 11:25:09 保存一次
20230816 12:25:09 保存一次
20230816 13:25:09 保存一次 (删除第一次保存的数据)
防止namenode的服务器宕机了,数据丢失的问题。如果真宕机了,重启namenode ,它会自动的加载fsimage数据到内存中。
存储文件系统元数据
fsimage保存了HDFS的完整命名空间信息,包括:
提供元数据检查点
当NameNode启动时,会加载fsimage作为基础元数据快照,再通过重放edits日志(记录增量操作)恢复最新状态。例如: $$ \text{最新元数据} = \text{fsimage} + \sum \text{edits_log} $$
冷备份特性
fsimage是静态快照,不记录实时操作。所有客户端操作(如创建/删除文件)会先写入edits日志,确保操作可追溯。
定期合并
SecondaryNameNode(或Standby NameNode)定期将edits日志合并到fsimage中,生成新的检查点,避免日志无限增长。合并过程如下:
graph LR A[当前fsimage] --> B[加载到内存] C[未合并的edits] --> B B --> D[合并操作] D --> E[新fsimage]hdfs oiv(Offline Image Viewer)工具解析为可读格式。