- 文件系统的目录树中的每个节点包含了文件的信息(比如文件名、文件属性等)以及文件与DataNode的对应关系,这些数据成为原数据(meta data)
- 要读写HDFS中的文件,必须经过NameNode(先从目录树中找到文件Meta数据)
- HDFS使用了日志,就是在那些引起HDFS文件系统改变的操作执行时,在改变元数据的同时把操作记录在日志文件中,这些文件就是edits文件,当NameNode重启时,会从edits文件中读出那些操作,一条条地执行,将目录树恢复到关机前最后一次操作的样子
- HDFS引入了一个叫做fsImage的文件,用于保存NameNode的所有元数据(整个目录树就是HDFS文件系统的描述,所以叫fs镜像)。当执行改变文件系统的操作时,依然先写入edits中,只不过每隔一段时间要将edits合并到fsimage中,合并完的edits被扔掉,如此可以保证fsimage与当前最新的元数据没有太大的差距,而edits中保存的实际是fsimage与内存中元数据的差异。也就是说,“fsimage+edits=内存元数据”。此方案使得NameNode重启时可以将fsimage直接读到内存中,恢复元数据,及时有edits需要合并,也没有太大的差距,很快就能完成
HDFS原理详解_fsinage与edits
最新推荐文章于 2024-07-16 10:45:22 发布