我正在尝试设置一个hadoop的多节点集群迈克尔·诺尔的方式 http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/使用两台计算机。
当我尝试格式化 hdfs 时,它显示NullPointerException
.
hadoop@psycho-O:~/project/hadoop-0.20.2$ bin/start-dfs.sh
starting namenode, logging to /home/hadoop/project/hadoop-0.20.2/bin/../logs/hadoop-hadoop-namenode-psycho-O.out
slave: bash: line 0: cd: /home/hadoop/project/hadoop-0.20.2/bin/..: No such file or directory
slave: bash: /home/hadoop/project/hadoop-0.20.2/bin/hadoop-daemon.sh: No such file or directory
master: starting datanode, logging to /home/hadoop/project/hadoop-0.20.2/bin/../logs/hadoop-hadoop-datanode-psycho-O.out
master: starting secondarynamenode, logging to /home/hadoop/project/hadoop-0.20.2/bin/../logs/hadoop-hadoop-secondarynamenode-psycho-O.out
master: Exception in thread "main" java.lang.NullPointerException
master: at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:134)
master: at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:156)
master: at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:160)
master: at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:131)
master: at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:115)
master: at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:469)
hadoop@psycho-O:~/project/hadoop-0.20.2$
我不知道是什么原因造成的。请帮我找出问题所在。我不是这个话题的新手,所以请让你的答案尽可能不那么技术化。 :)
如果需要更多信息,请告诉我。
master: at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:134)
master: at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:156)
master: at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:160)
看起来你的辅助名称节点在连接到主名称节点时遇到了麻烦,这对于整个系统来说绝对是必需的,因为需要完成检查点工作。所以我猜你的网络配置有问题,包括:
-
${HADOOP_HOME}/conf/core-site.xml,其中包含如下内容:
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:54310</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>
</configuration>
-
和 /etc/hosts.这个文件确实是一个滑坡,你要小心这些ip别名,它应该与该ip的机器的主机名一致。
127.0.0.1 localhost
127.0.1.1 zac
# 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
192.168.1.153 master #pay attention to these two!!!
192.168.99.146 slave1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)