启动namenode而不进行格式化

时间:2014-04-01 11:06:20

标签: hadoop format startup hadoop2

我尝试使用bin / start-all.sh启动namenode。但是,这个命令不会启动namenode。我知道如果我做bin / hadoop namenode -format,namenode会启动,但在这种情况下,我将丢失所有数据。有没有办法在不格式化的情况下启动namenode?

2 个答案:

答案 0 :(得分:3)

您的问题可能与以下内容有关:

Hadoop默认将其NameNode数据写入/ tmp / hadoop-文件夹,每次重启后都会将其清除。

将以下属性添加到conf / hdfs-site.xml

<property>
   <name>dfs.name.dir</name>
   <value><path to your desired folder></value>
</property>

&#34; dfs.name.dir&#34; property允许您控制Hadoop写入NameNode元数据的位置。

答案 1 :(得分:1)

bin/start-all.sh应该启动namenode,以及datanode,jobtracker和tasktrackers。因此,请检查namenode的日志以查找可能的错误。

跳过启动jobtracker和tasktrackers并启动namenode(和datanode)的另一种方法是使用以下命令: bin/start-dfs.sh

实际上,bin/start-all.sh相当于使用命令:

bin/start-dfs.sh,它启动namenode和datanodes以及
bin/start-mapred.sh,它启动了jobtracker和tasktrackers。

有关详细信息,请访问this page