名称节点存储什么?

Chi*_*rag 7 hadoop mapreduce bigdata hdfs

  1. 在"名称节点"的情况下,存储在主存储器中的内容以及存储在辅助存储器(硬盘)中的内容.

  2. 我们所说的"文件阻止映射"是什么意思?

  3. 究竟是什么fsimage和编辑日志?

Don*_*ner 15

在"名称节点"的情况下,存储在主存储器中的内容以及存储在辅助存储器(硬盘)中的内容.

要阻止映射的文件,数据节点上的块的位置,活动数据节点,一堆其他元数据都存储在NameNode的内存中.当您检查NameNode状态网站时,几乎所有这些信息都存储在某个内存中.

存储在磁盘上的唯一内容是fsimage,编辑日志和状态日志.有趣的是,NameNode从未真正在磁盘上使用这些文件,除非它启动时.在fsimageedits文件几乎只存在于能够带来NameNode的备份,如果需要停止或崩溃.

我们所说的"文件阻止映射"是什么意思?

将文件放入HDFS时,会将其拆分为块(可配置大小).假设你有一个名为"file.txt"的文件,它是201MB,你的块大小是64MB.最终将有三个64MB块和一个9MB块(64 + 64 + 64 + 9 = 201).NameNode跟踪HDFS中的"file.txt"映射到这四个块的事实.DataNode存储块而不是文件,因此映射对于了解数据的位置和数据的位置非常重要.

究竟是什么fsimage和编辑日志?

最近的NameNode内存检查点存储在fsimage.可以从该文件恢复该检查点的NameNode状态(即文件 - >块映射,文件属性等).

edits文件是fsimage自上一个检查点以来的所有新更新.这些是删除或添加的文件.这对于NameNode关闭是很重要的,因为它具有自上一个检查点存储以来的最新更改fsimage.NameNode出现的方式是它实现fsimage内存,然后edits按照它在edits文件中看到的顺序应用它.

fsimage并且edits以他们的方式存在,因为fsimage每次完成HDFS操作时编辑潜在的大量文件在系统上都很难.而是edits简单地附加文件.但是,对于NameNode启动和数据存储的原因,不时地将编辑内容滚动到fsimage中是一件好事.

SecondaryNameNode是定期获取fsimageedits文件并将它们合并到一个新的检查点fsimage文件中的过程.这是防止edits变大的重要过程.