Fsimage,Edits详解
目标:掌握Fsimage和Edits的作用。
NameNode元数据解析
(1)第一次启动namenode格式化后,创建fsimage和edits文件。如果不是第一次启动,直接加载edits和fsimage文件到内存。
(2)客户端对元数据进行增删改的请求。
(3)namenode记录操作日志,更新滚动日志。
(4)namenode在内存中对数据进行增删改查。

fsimage保存了最新的元数据检查点,在HDFS启动时加载fsimage的信息,包含了整个HDFS文件系统的所有目录和文件的信息。
对于文件来说包括了数据块描述信息、修改时间、访问时间等。
对于目录来说包括修改时间、访问权限控制信息(目录所属用户,所在组)等。
editlog主要是在NameNode已经启动情况下对HDFS进行的各种更新操作进行记录,HDFS客户端执行所有的写操作都会被记录到editlog中。
Fsimage,editlog主要用于在集群启动时将集群的状态恢复到关闭前的状态。
为了达到这个目的,集群启动时将Fsimage、editlog加载到内存中,进行合并,合并后恢复完成。
元数据信息目录的配置
hdfs-site.xml当中
<property>
<name>dfs.namenode.name.dir</name>
<value>
file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/namenodeDatas
</value>
</property>
<property>
<name>dfs.namenode.edits.dir</name>
<value>
file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/edits
</value>
</property>
Fsimage是HDFS的元数据镜像文件,包含了HDFS所有文件和目录的完整状态,包括数据块信息、时间戳和权限等。Editlog则是NameNode记录的所有更新操作日志,用于跟踪文件系统的变更。在HDFS启动时,这两个文件会被加载到内存并合并,以恢复文件系统到关闭前的状态。NameNode的元数据存储路径在hdfs-site.xml中配置,如`dfs.namenode.name.dir`和`dfs.namenode.edits.dir`。
300

被折叠的 条评论
为什么被折叠?



