我试过hadoop-1.0.3和1.0.4。都在伪集群模式下。
我的理解是previous.checkpoint目录应该在“fs.checkpoint.dir”指定的辅助名称节点下创建?在任何情况下,我都会在“dfs.name.dir”指定的namenode目录下找到它。这跟伪模式有关还是我的理解有误?有人能帮忙吗!
下面是我的hdfs-site.xml文件。
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/lab/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/lab/hdfs/datanode</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>/home/hadoop/lab/hdfs/secnamenode</value>
</property>
</configuration>
下面是守护程序的高级目录结构
hadoop@ubuntu:~/lab/hdfs$ ls -l
total 12
drwxr-xr-x 6 hadoop hadoop 4096 Mar 14 03:41 datanode
drwxrwxr-x 5 hadoop hadoop 4096 Mar 14 03:41 namenode
drwxrwxr-x 4 hadoop hadoop 4096 Mar 14 04:46 secnamenode
下面是namenode目录的详细信息
hadoop@ubuntu:~/lab/hdfs$ ls -l namenode
total 12
drwxrwxr-x 2 hadoop hadoop 4096 Mar 14 04:46 current
drwxrwxr-x 2 hadoop hadoop 4096 Mar 14 03:13 image
-rw-rw-r-- 1 hadoop hadoop 0 Mar 14 03:41 in_use.lock
drwxrwxr-x 2 hadoop hadoop 4096 Mar 14 03:34 previous.checkpoint
下面是snn目录的详细信息
hadoop@ubuntu:~/lab/hdfs$ ls -l secnamenode
total 8
drwxrwxr-x 2 hadoop hadoop 4096 Mar 14 04:46 current
drwxrwxr-x 2 hadoop hadoop 4096 Mar 14 03:46 image
-rw-rw-r-- 1 hadoop hadoop 0 Mar 14 03:41 in_use.lock
如果你需要更多的细节,请告诉我。
谢谢,破布
1条答案
按热度按时间i5desfxk1#
我对此做了广泛而绝望的调查。hdfs-1839似乎有一个长期挂起的bug,它从secondarynamenode中删除了previous.checkpoint目录。在namenode下创建这个目录的原因可能也是这个bug。
到目前为止,我已经看到了所有的hadoop版本,在所有这些版本下,previous.checkpoint目录始终是在namenode下创建的。
希望很快这个bug会被修复,或者apachehadoop会澄清为什么在namenode下创建目录