fsimage和edits如何合并
当HDFS的NameNode检测到一个文件系统操作(例如文件的创建、修改或删除)时,NameNode会将这个操作记录在内存中的一个缓冲区中。缓冲区被称为“编辑”(edits)。编辑在一定时间内(通常是一分钟)被刷新到磁盘上,以防止NameNode在故障发生时数据丢失。
当NameNode重新启动时,它首先会从磁盘上读取文件系统的元数据,然后再加载编辑。这样,NameNode就可以恢复到文件系统操作发生之前的状态。
一旦NameNode从编辑中恢复了元数据,它就可以开始处理客户端的请求,例如文件的读取和写入。
编辑不是NameNode唯一的存储方式。NameNode还使用一个叫做“文件系统映像”(fsimage)的文件来存储元数据。
文件系统映像是一个包含所有文件系统元数据的文件。它包括所有文件和目录的名称、权限、链接和其他属性。
当NameNode启动时,它会从磁盘上读取文件系统映像,然后加载编辑。这样,NameNode就可以恢复到文件系统操作发生之前的状态。
因此,fsimage和edits是NameNode用来存储文件系统元数据的两个文件。当NameNode重新启动时,它会先加载fsimage,然后再加载edits。
相关文章