Hadoop安装:无法启动Namenode

3
目前我正在尝试在我的Ubuntu 14.10(32位utopic)上安装hadoop-2.6.0。我按照这里的说明进行操作:http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-apache-hadoop-ubuntu-14-10-centos-7-single-node-cluster.html#axzz3X2DuWaxQ,但是当我尝试格式化namenode时,namenode无法启动。 当我尝试执行hdfs或hadoop namenode -format时,我一直收到以下内容:
15/04/11 16:32:13 FATAL namenode.NameNode: Fialed to start namenode
java.lang.IllegalArgumentException: URI has an authority component
    at java.io.File.<init>(File.java:423)
    at             org.apache.hadoop.hdfs.server.namenode.NNSStorage.getStorageDirectory(NNStorage.java:329)
    at
org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournals(FSEditLog.java: 270)
    at
org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournalsForWrite(FSEditLog.java:241)
    at     org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:935)
    at     org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1379)
    at     org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1504)
15/04/11 16:32:13 INFO util.ExitUtil: Exiting with status 1
15/04/11 16:32:14 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at ThinkPad-Edge-E540/127.0.1.1
************************************************************/

我是Linux和Hadoop的新手。请帮助我解决这个问题。当我第一次尝试安装Hadoop时,我收到了以下错误消息:

    java.net.ConnectException: Call From ThinkPad-Edge-E540/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

我之前安装了hadoop 2.6.0,后来卸载了它,现在我正尝试按照上面链接中所示的最新说明进行操作。

更新

我已经删除了以前版本中安装的所有Java(jdk1.7.0),但错误消息仍然存在。

更新

这是我etc/hosts文件中的内容:

127.0.0.1 localhost
127.0.1.1 myname-mycomputer (I have commented out this line per suggestion)

#The following lines are desirable for IPv6 capable hosts
::1       ip6-localhost  ip6-loopback
fe00::0   ip6-localnet
ff00:0    ip6-mcastprefix
ff02::1   ip6-allnodes
ff02::2   ip6-allrouters

在 /etc/hosts 文件中删除带有 127.0.1.1 的行。 - Rajesh N
无法工作。现在甚至出现了一个新的错误:java.net.UnkownHostException。 - Orangeblue
1
由于您的IP地址没有指向/etc/hosts文件中的主机名,因此会出现java.net.UnknownHostException错误。我已经添加了一个答案,请尝试一下。 - Rajesh N
2个回答

5

当我在hdfs-site.xml和core-site.xml中错误指定namenode和datanode的路径以及tmp目录路径时,就会出现这个问题。 路径应该格式良好,例如 -

<property>
    <name>dfs.namenode.edits.dir</name>
    <value>file:///home/hadoop/hadoop-content/hdfs/namenode</value>
</property>

<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///home/hadoop/hadoop-content/hdfs/datanode</value>
</property>

在core-site.xml中,临时目录的设置方式为 -
<configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop-content/tmp</value>
</property>

有时我们在指定路径时会犯错误 - file:///

0
/etc/hosts 文件中: 1. 添加以下行:
your-ip-address    your-host-name

示例:192.168.1.8 master

/etc/hosts中:

2. 删除带有127.0.1.1的行(这会导致回环)

3. 在您的core-site中,将localhost更改为your-ipyour-hostname

现在,重新启动集群。


1
我尝试使用ifconfig获取我的IP地址。它显示了两个结果:1)lo(本地回环):inet addr:127.0.0.1 Mask:255.255.255.0。2)wlan0(以太网):inet addr:10.0.0.10 Bcast:10.0.0.255 Mask:255.255.255.0。我该使用哪一个?这似乎是动态地址,如果我更改网络连接,它还能起作用吗?谢谢。 - Orangeblue
此外,我的hdfs-site.xml中没有localhost。(请参见此处的说明:http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-apache-hadoop-ubuntu-14-10-centos-7-single-node-cluster.html#comment-10292) - Orangeblue
在你的建议下,我已经在/etc/hosts中更改了我的IP地址(在这种情况下我使用10.0.0.10),但错误信息并没有改变。 - Orangeblue
尝试将core-site.xml中的localhost更改为您的IP。您能发布您的主机文件吗? - Rajesh N
我在原始问题中已经完成了这个操作。我放弃了这个指令。我按照另一个指令进行操作,它运行良好!http://www.bogotobogo.com/Hadoop/BigData_hadoop_Install_on_ubuntu_single_node_cluster.php - Orangeblue

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