在哪个文件夹或实际存储fsimage和编辑日志文件的位置,以便namenode在启动期间读取和合并?

时间:2014-03-26 10:03:16

标签: hadoop hdfs

当namenode启动时,它会从图像文件fsimage读取HDFS状态,然后应用编辑日志文件中的编辑。

如果我没有错,Name节点启动意味着我们写start-all.sh。所以在这个启动时间我认为它读取了fsimage并编辑日志并合并它们。但是从哪个文件夹或者从哪个位置实际读取这些内容?

3 个答案:

答案 0 :(得分:7)

在hadoop-1.x中,start-all.sh脚本在内部执行两个操作start-dfs.shstart-mapred.sh。 start-dfs.sh将启动hdfs所需的所有守护进程,即:datanode,namenode,secondary namenode

检查点操作(将编辑日志应用于fsimage)在namenode start期间发生,并且可以在namenode运行期间通过调整参数hdfs-site.xml --> dfs.namenode.checkpoint.period来配置此活动。

在namenode启动期间,namenode守护进程从hdfs-site.xml -> dfs.name.dir.中指定的目录加载fsimage此属性应该被覆盖,否则它将采用默认值(file:///tmp/dfs/name/

通过检查hdfs-site.xml -> dfs.name.edits.dir的值可以找到编辑日志的位置。 dfs.name.edits.dir的默认值是$ {dfs.name.dir}。

在hadoop-2.0

中更改了上述属性名称

答案 1 :(得分:0)

启动守护程序时,namenode将检查名为

的配置xml文件
  

芯-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中。

答案 2 :(得分:0)

下面的

是您可以找到编辑和fsimage文件的位置..

/应用/ hadoop的/ TMP / DFS /名称/电流

[core-site.xml]

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

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