namenode在硬盘上管理数据的方式:
${dfs.name.dir}/
└── current/
├── VERSION
├── edits
├── fsimage
└── fstime
dfs.name.dir是name节点metddata信息存储的地方,会复制多份。
The filesystem image and edit log
当客户端修改文件的时候,修改首先是被写到edit log中的,namenode的metadata信息也会在内存中存储。
内存中的信息是在editlog修改后才更新的。
原因是:内存metadata信息是用来为读取信息服务的,如果没修改成功,更新内存中metadata信息,会出错的。