Hadoop namenode总是需要格式化为什么?

时间:2014-09-06 04:14:59

标签: hadoop mapreduce

我有一个单节点hadoop 1.0.4并且它工作正常(我可以运行map-reduce作业)。我遇到的问题是每当我重新启动并执行start-dfs.sh时,namenode都没有启动,我必须做" hadoop namenode -format"然后start-dfs.sh和start-mapred.sh总是..这迫使我每次都加载我的数据。您是否可以提示我可能需要检查的可能的解决方案或配置问题?

谢谢,

1 个答案:

答案 0 :(得分:1)

看起来你没有覆盖hdfs配置dfs.name.dirdfs.data.dir,默认情况下它指向/ tmp目录,当你的机器重新启动时它将被清除。您必须通过覆盖位于HADOOP配置目录中的hdfs-site.xml文件中的这些值,将其从/ tmp更改为主目录中的另一个位置。

执行以下步骤

在主目录中创建一个目录,用于保存namenode image& datanode块(替换为您的登录名)

mkdir /home/<USER>/pseudo/

修改HADOOP_CONF_DIR(hadoop配置目录)中的hdfs-site.xml文件,如下所示

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
  <name>dfs.name.dir</name>
  <value>file:///home/<USER>/pseudo/dfs/name</value>
</property>
<property>
  <name>dfs.data.dir</name>
  <value>file:///home/<USER>/pseudo/dfs/data</value>
</property>
</configuration>

格式化你的hdfs namenode&amp;开始使用