在hdfs分布式文件系统中,所有的元数据信息都是保存在FsImage与Edits这两个文件中的,这两个文件记录了所有的数据的元数据信息。在生产环境中我们可以自定义配置,如下:
1)配置文件为:hdfs-site.xml,文件路径在${hadoop_home}/etc/hadoop/hdfs-site.xml
2)配置的内容如下:
<!-- fsimage⽂件存储的路径 --> <property> <name>dfs.namenode.name.dir</name> <value>file:///opt/hadoop-2.6.0- cdh5.14.0/namenode/fsimages</value> </property> <!-- edits⽂件存储的路径 --> <property> <name>dfs.namenode.edits.dir</name> <value>file:///opt/hadoop-2.6.0- cdh5.14.0/namenode/editfiles/nn/edits</value> </property>
fsimage文件介绍
fsimage是namenode节点上关于元数据的镜像,一般我们称为检查点。他包含了namenode管理下的所有datanode中的所有文件及文件block信息,及block所在的datanode的元数据信息。
edits文件介绍
edits文件其实是hdfs写入文件的每一份临时文件,也就是hdfs写入文件的时候,会先把数据写入到edits文件中,随着edits文件的增大,会逐渐把edits的数据挨个合并到fsimage文件中,然后重新创建新的edits文件,继续接收每次写入的hdfs文件信息。
备注:
1、从大的方向来看,hdfs写入文件的元数据信息都是先写小文件(edits文件),然后再把这些小文件的内容合并到大的文件中(fsimage文件)。
2、edits文件只有部分hdfs文件的元数据信息,fsimage文件有近乎全部的hdfs文件的元数据信息。
还没有评论,来说两句吧...