fsimage和edit日志文件实际存储在哪个文件夹中,以便namenode在启动期间读取和合并?

zsbz8rwp  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(397)

当namenode启动时,它从映像文件fsimage读取hdfs状态,然后应用编辑日志文件中的编辑。
如果我没记错的话,名称node start up意味着当我们编写start-all.sh时。所以在这个启动时间,我认为它读取fsimage,编辑日志并合并它们。但它实际上是从哪个文件夹或哪个位置读取这两个内容的呢?

jgzswidk

jgzswidk1#

下面是您可以找到编辑和图像文件的位置。。
/应用程序/hadoop/tmp/dfs/name/current
[核心站点.xml]

<property><name>hadoop.tmp.dir</name><value>/app/hadoop/tmp</value>

我相信这会对你有帮助。。

zlwx9yxi

zlwx9yxi2#

启动守护程序时,namenode将检查名为
core-site.xml文件
位于hadoop conf文件夹中。在我的系统中,它位于usr/lib/hadoop/conf,这是hadoop的安装目录。
在配置文件中你可以看到,

<configuration>
     <property>
         <name>hadoop.tmp.dir</name>
         <value>/var/lib/hadoop-0.20/cache/${user.name}</value>
     </property>
</configuration>

在这段代码中/var/lib/hadoop-0.20/cache/是fsimage、fstime和edits log的位置。
如果namenode在某个特定时间发生故障,fsimage数据将临时存储在secondynamenode中,namenode恢复后,临时数据将存储在fsimage中。

t9eec4r0

t9eec4r03#

在hadoop-1.x中,start-all.sh脚本在内部执行两个操作 start-dfs.sh 以及 start-mapred.sh . start-dfs.sh将启动hdfs所需的所有守护程序,即:datanode、namenode、secondary namenode
检查点操作(将编辑日志应用于fsimage)发生在namenode启动期间,可以通过调整参数在namenode运行期间配置此活动 hdfs-site.xml --> dfs.namenode.checkpoint.period .
在namenode启动期间,namenode守护进程从中指定的目录加载fsimage hdfs-site.xml -> dfs.name.dir. 应该重写此属性,否则它将采用默认值( file:///tmp/dfs/name/ )
编辑日志的位置可以通过检查 hdfs-site.xml -> dfs.name.edits.dir . dfs.name.edits.dir的默认值是${dfs.name.dir}。
以上属性名在hadoop-2.0中已更改

相关问题