Hadoop的namenode在Ubuntu上无法启动/格式化

4

我正在尝试在Ubuntu上设置Hadoop实例。但是,namenode无法启动。当我执行jps命令时,可以看到除namenode之外的所有内容。这是我的hdfs-site.xml文件。

<configuration>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/ac/hadoop/dfs</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/ac/hadoop/dfs</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>    
    </property>
</configuration>

这是我的core-site.xml文件:

<configuration>
       <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>    
    </property>
</configuration>

我收到的错误信息是:
ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
java.io.IOException: NameNode is not formatted.

当我格式化namenode时,命令行提示出现了以下信息:
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = hanu/127.0.1.1
STARTUP_MSG:   args = [–format]
STARTUP_MSG:   version = 1.2.1
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG:   java = 1.8.0_31
************************************************************/
Usage: java NameNode [-format [-force ] [-nonInteractive]] | [-upgrade] | [-rollback] | [-finalize] | [-importCheckpoint] | [-recover [ -force ] ]
15/02/03 15:03:41 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hanu/127.0.1.1

我尝试根据各种建议更改文件,但什么都没有起作用。我认为namenode没有正确格式化。我的设置哪里出问题了,如何进行纠正?感谢任何帮助。


你能否提供一下格式化NameNode并启动它所使用的命令? - Ashrith
@Ashrith感谢您的回复。要启动,请键入./start-all.sh,要格式化,请键入bin/hadoop namenode –format - user1207289
1个回答

3
您看到该错误消息的原因是由于命令输错了,这就是为什么namenode类显示了“Usage”错误的原因,可能您已经不正确地发出了命令选项。
请确保正确输入命令:
bin/hadoop namenode -format

然后尝试启动NameNode,您可以在前台启动NameNode服务,以查看一切是否正常运行,如果没有看到任何错误,则可以终止该进程并使用start-all.sh脚本启动所有服务。

以下是如何在前台启动NameNode进程的方法:

bin/hadoop namenode

一旦启动,以下是需要查看的日志消息以验证正确的启动:

15/02/04 10:42:44 INFO http.HttpServer: Jetty bound to port 50070
15/02/04 10:42:44 INFO mortbay.log: jetty-6.1.26
15/02/04 10:42:45 INFO mortbay.log: Started SelectChannelConnector@0.0.0.0:50070
15/02/04 10:42:45 INFO namenode.NameNode: Web-server up at: 0.0.0.0:50070
15/02/04 10:42:45 INFO ipc.Server: IPC Server Responder: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server listener on 8020: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server handler 0 on 8020: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server handler 1 on 8020: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server handler 2 on 8020: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server handler 3 on 8020: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server handler 4 on 8020: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server handler 5 on 8020: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server handler 6 on 8020: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server handler 7 on 8020: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server handler 8 on 8020: starting
15/02/04 10:42:45 INFO ipc.Server: IPC Server handler 9 on 8020: starting

你可以通过向进程发送<Ctrl+C>来终止该服务。

非常感谢。当我手动输入命令时,它起作用了。之前我是从其他地方复制粘贴的。不过很奇怪,它在终端上看起来完全一样。谢谢! - user1207289

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接