20

我正在尝试以 root 用户身份运行 hadoop,我hadoop namenode -format在 Hadoop 文件系统运行时执行了 namenode 格式命令。

在此之后,当我尝试启动名称节点服务器时,它显示如下错误

13/05/23 04:11:37 ERROR namenode.FSNamesystem: FSNamesystem initialization failed.
java.io.IOException: NameNode is not formatted.
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:330)
        at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:100)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:411)

我试图寻找任何解决方案,但找不到任何明确的解决方案。

任何人都可以建议吗?

谢谢。

4

7 回答 7

25

DFS 需要格式化。停止所有后只需发出以下命令,然后重新启动。

hadoop namenode -format
于 2014-08-11T18:46:28.163 回答
24

酷,我找到了解决方案。

停止所有正在运行的服务器

1) stop-all.sh 

编辑文件/usr/local/hadoop/conf/hdfs-site.xml并添加以下配置(如果缺少)

<property>
    <name>dfs.data.dir</name>
    <value>/app/hadoop/tmp/dfs/name/data</value> 
    <final>true</final> 
    </property> 
    <property> 
    <name>dfs.name.dir</name>
    <value>/app/hadoop/tmp/dfs/name</value> 
    <final>true</final> 
</property>

启动 HDFS 和 MapReduce 守护进程

2) start-dfs.sh
3) start-mapred.sh

然后现在运行其余步骤以运行此链接中给出的 map reduce 示例

注意:bin/start-all.sh如果直接命令未运行,您应该运行该命令。

于 2013-05-23T13:19:56.127 回答
2

当namenode停止时格式化hdfs。(就像上面的答案一样)。

我添加了更多细节。

FORMAT 命令将检查或创建路径/dfs/name,并对其进行初始化或重新初始化。然后运行 ​​start-dfs.sh 将运行 namenode、datanode,然后是 namesecondary。当namenode检查不存在路径/dfs/name或未初始化时,会发生致命错误,然后退出。这就是namenode无法启动的原因。

更多详细信息,您可以查看 HADOOP_COMMON/logs/XXX.namenode.log

于 2014-02-16T15:20:41.417 回答
1

确保您为名称节点指定的目录完全为空。所述目录中的“丢失+找到”文件夹之类的东西会触发此错误。

于 2017-06-18T21:19:18.237 回答
0

hdfs-site.xml 你的值是错误的。您输入了错误的文件夹,这就是没有启动名称节点的原因。

于 2014-08-18T17:57:33.547 回答
0

首先 mkdir [文件夹],然后设置 hdfs-site.xml 然后格式化

于 2016-03-30T07:26:42.493 回答
0

确保名称(dfs.name.dir)和数据(dfs.data.dir)文件夹的目录在 hdfs-site.xml 中正确列出

于 2016-12-26T20:18:22.150 回答