namenode主要被用来管理整个分布式文件系统的命名空间(实际就是目录和文件)的元数据信息,同时为了保证数据的可靠性,还加入了操作日志,这些数据会保存到(持久化)本地文件系统中

第一次使用HDFS,先要 - format

在namenode节点上有两个重要的路径,分别用来存储元数据操作日志,这两个路径来自配置文件,对应的属性分别是dfs.name.dir和dfs.name.edits.dir,默认的路径都是/tmp/hadoop/dfs/name , format的时候先清空目录下的文件,之后创建:

(不同版本下的默认path是否一样,需要具体版本具体看待,我这个摘抄的也不知对方指的是哪个版本:来自2011年的一篇文章:https://blog.csdn.net/xhh198781/article/details/6904615

在dfs.name.dir下:
{dfs.name.dir}/current/fsimage
{dfs.name.dir}/current/fstime
{dfs.name.dir}/current/VERSION
{dfs.name.dir}/image/fsimage

在dfs.name.edits.dir下:
{dfs.name.edits.dir}/current/edits
{dfs.name.edits.dir}/current/fstime
{dfs.name.edits.dir}/current/VERSION
{dfs.name.edits.dir}/image/fsimage

fsimage:存储命名空间(实际上就是目录和文件)的元数据信息
edits:用来存储对命名空间操作的日志信息,实现NameNode节点的恢复;
fstime:用来存储元数据上一次check point 的时间;
VERSION:用来存储NameNode版本信息,命名空间ID(版本号)