我是一个java程序员,学习hadoop。我读到hdfs中的name节点将其信息存储到两个文件中,即fsimage和editlog。在启动的情况下,它从磁盘读取这些数据并执行检查点操作。但是在很多地方我也看到name node将数据存储在ram中&这就是apache推荐name node服务器使用高ram的原因。请告诉我这件事。它在ram中存储什么数据?它在哪里存储fsimage和编辑日志?对不起,如果我问了什么明显的问题。
flseospp1#
让我先回答它在ram中存储什么数据?它在哪里存储fsimage和编辑日志?在ram中—文件到块和块到数据节点的Map。在持久性存储中(包括编辑日志和fsimage)--与文件相关的元数据(权限、名称等)关于fsimage和editlog的存储位置@mashuai的答案是正确的。更详细的讨论,你可以阅读这个
hlswsv352#
它存储fsimage和editlog dfs.name.dir ,在里面 hdfs-site.xml . 启动集群时,namenode将fsimage和editlog加载到内存中。
dfs.name.dir
hdfs-site.xml
fkaflof63#
fsimage和editlog存储在dfs.name.dir中,它位于hdfs-site.xml中。在集群启动期间,namenode将fsimage和editlog加载到内存(ram)中。
sg24os4d4#
当namenode启动时,它从持久性存储(磁盘)加载fsimage,它位于属性指定的位置 dfs.name.dir (hadoop-1.x)或 dfs.namenode.name.dir (hadoop-2.x)在 hdfs-site.xml . fsimage被加载到主内存中。正如您在namenode启动期间所要求的,它将执行检查点操作。namenode将fsimage保存在ram中,以便快速服务请求。除了初始检查点之外,还可以通过在中调整以下参数来控制后续检查点 hdfs-site.xml .
dfs.namenode.name.dir
dfs.namenode.checkpoint.period # in second 3600 Secs by default dfs.namenode.checkpoint.txns # No of namenode transactions
w9apscun5#
当name节点启动时,它将进入安全模式。它从持久存储加载fsimage并重放编辑日志,以创建hdfs存储的更新视图(文件到块的Map)。然后将更新后的fsimage写入持久存储。现在name节点等待来自数据节点的块报告。从块报告创建块到数据节点的Map。当name节点收到一定阈值的块报告时,它将退出安全模式,name节点可以开始服务于客户端请求。每当客户端对元数据进行任何更改时,namenode(nn)首先在编辑日志段中写入的内容都会随着事务id的增加而更改到持久存储(硬盘)。然后它更新内存中的fsimage。
5条答案
按热度按时间flseospp1#
让我先回答
它在ram中存储什么数据?它在哪里存储fsimage和编辑日志?
在ram中—文件到块和块到数据节点的Map。在持久性存储中(包括编辑日志和fsimage)--与文件相关的元数据(权限、名称等)
关于fsimage和editlog的存储位置@mashuai的答案是正确的。
更详细的讨论,你可以阅读这个
hlswsv352#
它存储fsimage和editlog
dfs.name.dir
,在里面hdfs-site.xml
. 启动集群时,namenode将fsimage和editlog加载到内存中。fkaflof63#
fsimage和editlog存储在dfs.name.dir中,它位于hdfs-site.xml中。在集群启动期间,namenode将fsimage和editlog加载到内存(ram)中。
sg24os4d4#
当namenode启动时,它从持久性存储(磁盘)加载fsimage,它位于属性指定的位置
dfs.name.dir
(hadoop-1.x)或dfs.namenode.name.dir
(hadoop-2.x)在hdfs-site.xml
. fsimage被加载到主内存中。正如您在namenode启动期间所要求的,它将执行检查点操作。namenode将fsimage保存在ram中,以便快速服务请求。除了初始检查点之外,还可以通过在中调整以下参数来控制后续检查点
hdfs-site.xml
.w9apscun5#
当name节点启动时,它将进入安全模式。它从持久存储加载fsimage并重放编辑日志,以创建hdfs存储的更新视图(文件到块的Map)。然后将更新后的fsimage写入持久存储。现在name节点等待来自数据节点的块报告。从块报告创建块到数据节点的Map。当name节点收到一定阈值的块报告时,它将退出安全模式,name节点可以开始服务于客户端请求。每当客户端对元数据进行任何更改时,namenode(nn)首先在编辑日志段中写入的内容都会随着事务id的增加而更改到持久存储(硬盘)。然后它更新内存中的fsimage。