HDFS的fsimage和edits是什么、有什么作用

Fsimage,Edits详解

目标:掌握FsimageEdits的作用。

NameNode元数据解析

(1)第一次启动namenode格式化后,创建fsimage和edits文件。如果不是第一次启动,直接加载edits和fsimage文件到内存。

(2)客户端对元数据进行增删改的请求。

(3)namenode记录操作日志,更新滚动日志。

(4)namenode在内存中对数据进行增删改查。

 

HDFS的fsimage和edits是什么、有什么作用

       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>