gpt4 book ai didi

hadoop - Name Node 存储什么?

转载 作者:可可西里 更新时间:2023-11-01 14:14:24 27 4
gpt4 key购买 nike

  1. 在“名称节点”的情况下,什么存储在主内存中,什么存储在辅助内存(硬盘)中。

  2. “文件到 block 的映射”是什么意思?

  3. fsimage 和编辑日志到底是什么?

最佳答案

In case of "Name Node", what gets stored in main memory and what gets stored in secondary memory ( hard disk ).

block 映射文件、 block 在数据节点上的位置、事件数据节点、一堆其他元数据都存储在 NameNode 的内存中。当您查看 NameNode 状态网站时,几乎所有这些信息都存储在某个地方的内存中。

唯一存储在磁盘上的是 fsimage、编辑日志和状态日志。有趣的是,NameNode 从未真正使用磁盘上的这些文件,除非它启动时除外。 fsimageedits 文件的存在几乎只是为了在需要停止或崩溃时恢复 NameNode。

What we mean by "file to block mapping" ?

当文件被放入 HDFS 时,它被分成 block (大小可配置)。假设您有一个名为“file.txt”的文件,大小为 201MB,您的 block 大小为 64MB。您最终会得到三个 64MB 的 block 和一个 9MB 的 block (64+64+64+9 = 201)。 NameNode 跟踪 HDFS 中的“file.txt”映射到这四个 block 的事实。 DataNode 存储 block 而不是文件,因此映射对于了解数据的位置和数据内容很重要。

What exactly is fsimage and edit logs ?

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

edits 文件是自上次检查点以来 fsimage 的所有新更新。这些就像删除或添加文件一样。如果您的 NameNode 出现故障,这很重要,因为它具有自上次存储在 fsimage 中的检查点以来的最新更改。 NameNode 出现的方式是将 fsimage 实体化到内存中,然后按照它在 edits 文件中看到的顺序应用 edits .

fsimageedits 之所以存在,是因为每次完成 HDFS 操作时都很难编辑可能很大的 fsimage 文件系统。相反,edits 文件只是附加到。但是,对于启动的 NameNode 和数据存储原因,时不时地将编辑滚动到 fsimage 中是一件好事。

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

关于hadoop - Name Node 存储什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20695025/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com