Hadoop - namenode没有启动

bal*_*anv 16 hadoop

我试图以root用户身份运行hadoop,我hadoop namenode -format在Hadoop文件系统运行时执行了namenode format命令.

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

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)
Run Code Online (Sandbox Code Playgroud)

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

谁有人建议?

谢谢.

bal*_*anv 21

很酷,我找到了解决方案.

停止所有运行的服务器

1) stop-all.sh 
Run Code Online (Sandbox Code Playgroud)

编辑文件/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>
Run Code Online (Sandbox Code Playgroud)

启动HDFS和MapReduce守护进程

2) start-dfs.sh
3) start-mapred.sh
Run Code Online (Sandbox Code Playgroud)

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

注意:bin/start-all.sh如果未运行direct命令,则应运行该命令.

  • 作为提醒,需要为我格式化namenode.`bin/hadoop namenode -format` (3认同)
  • 是的。我们可以使用命令 `hadoop namenode -format -force` 以防万一我们遇到任何关于 `hadoop namenode -format` 的问题 (2认同)

小智 17

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

hadoop namenode -format
Run Code Online (Sandbox Code Playgroud)