NameNode元数据内存加载

来源:互联网 发布:sql按周统计数据 编辑:程序博客网 时间:2024/06/11 13:25

为了保证交互速度,HDFS文件系统的metadata是被load到namenode机器的内存中
并会将内存中的这些数据保存到磁盘进行持久化存储(但对块的位置信息不进行持久化存储,在NameNode启动时动态加载)。

当NameNode启动时,它从硬盘中读取Editlog和FsImage。
将所有Editlog中的事务作用在内存中的FsImage上,以恢复HDFS重启之前的最终状态。
这个时候系统处于safemode,等待DataNode上报各自的block数据块信息。

而后将这个新版本的FsImage从内存中保存到本地磁盘上,然后删除旧的Editlog
因为旧的Editlog的事务都已经作用在FsImage上了。这个过程称为一个检查点(checkpoint)。

在内存中保存文件系统中每个文件和每个数据块的引用关系(文件、block、datanode之间的映射信息)

原创粉丝点击