我尝试使用 bin/start-all.sh 启动 namenode。但是,这个命令不会启动 namenode。我知道如果我执行 bin/hadoop namenode -format ,namenode 将启动,但在这种情况下,我将丢失所有数据。有没有办法在不格式化的情况下启动namenode?
问问题
1164 次
2 回答
3
您的问题可能与以下有关:
Hadoop 默认将其 NameNode 数据写入 /tmp/hadoop- 文件夹,该文件夹在每次重启后都会被清除。
将以下属性添加到 conf/hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value><path to your desired folder></value>
</property>
“dfs.name.dir”属性允许您控制 Hadoop 写入 NameNode 元数据的位置。
于 2015-09-29T05:43:27.350 回答
1
bin/start-all.sh
应该启动namenode,以及datanodes、jobtracker和tasktrackers。因此,请检查名称节点的日志以查找可能的错误。
跳过启动 jobtracker 和 tasktracker 并仅启动 namenode(和 datanodes)的另一种方法是使用以下命令:
bin/start-dfs.sh
实际上,bin/start-all.sh
相当于使用命令:
bin/start-dfs.sh
,启动namenode和datanodes
bin/start-mapred.sh
,启动jobtracker和tasktracker。
有关更多详细信息,请访问此页面。
于 2014-04-01T11:30:56.130 回答