NameNode数据存放的地方有2个
1、内存
2、本地磁盘。镜像文件(fsimages)和日志文件(edits)
说明:格式化namenode目的是生成 fsimages文件。它是用来存放元数据的。
第一次启动过程如下:
0、format namenode
1、fsimages
2、start namenode
read fsimages
3、start datanode
向namenode注册
向namenode报告(块信息)
4、create dir
创建目录的过程中,会把操作过程记录到日志文件(edits)
5、put file
上传文件过程中,会把操作过程记录到日志文件(edits)
6、delte file
删除文件过程中,会把操作过程记录到日志文件(edits)
说明:所有的元数据操作改变都会写入到日志中。namenode中的元数据状态永远是最新的。namenode中的数据一份在内存,一份在磁盘
第二次启动过程如下:
1、启动namenode(只能读取磁盘文件),启动完成后最完整的元数据
读取msimage镜像文件
读取edit日志文件
生成 gen write msimages[new] 新的镜像文件
生成一个新的 edit [null]为空的日志。
2、start datanode
向namenode注册
向namenode报告(块信息)
3、create dir
创建目录的过程中,会把操作过程记录到日志文件(edits)
4、put file
上传文件过程中,会把操作过程记录到日志文件(edits)
5、delte file
删除文件过程中,会把操作过程记录到日志文件(edits)