我有一个单节点hadoop 1.0.4并且它工作正常(我可以运行map-reduce作业)。我遇到的问题是每当我重新启动并执行start-dfs.sh时,namenode都没有启动,我必须做" hadoop namenode -format"然后start-dfs.sh和start-mapred.sh总是..这迫使我每次都加载我的数据。您是否可以提示我可能需要检查的可能的解决方案或配置问题?
谢谢,
答案 0 :(得分:1)
看起来你没有覆盖hdfs配置dfs.name.dir
,dfs.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;开始使用