NameNode:java.net.BindException

时间:2012-05-19 09:05:13

标签: java linux java-ee hadoop hbase

大家好,我陷入了一个非常奇怪的问题。我正在通过从我的机器上访问它来安装另一个VM上的HBase和hadoop。现在我已经正确安装了hadoop然后伊朗它./start-all.sh我看到了所有过程都运行得很好。所以我做了jps而且我看到了这个 JobTracker的
TaskTracker共同
NameNode的
secondrynamenode
数据节点

一切都运行良好。现在当我设置hbase然后启动hadoop和Hbase时,我看到namenode没有运行并且在日志中(来自namenode日志文件)我得到了这个异常

java.lang.InterruptedException: sleep interrupted
    at java.lang.Thread.sleep(Native Method)
    at org.apache.hadoop.hdfs.server.namenode.DecommissionManager$Monitor.run(DecommissionManager.java:65)
    at java.lang.Thread.run(Thread.java:662)
2012-05-19 08:46:07,493 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Number of transactions: 0 Total time for transactions(ms): 0Number of transactions batched in Syncs: 0 Number of syncs: 0 SyncTimes(ms): 0 
2012-05-19 08:46:07,516 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.net.BindException: Problem binding to localhost/23.21.195.24:54310 : Cannot assign requested address
    at org.apache.hadoop.ipc.Server.bind(Server.java:227)
    at org.apache.hadoop.ipc.Server$Listener.<init>(Server.java:301)
    at org.apache.hadoop.ipc.Server.<init>(Server.java:1483)
    at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:545)
    at org.apache.hadoop.ipc.RPC.getServer(RPC.java:506)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:294)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:497)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1268)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1277)
Caused by: java.net.BindException: Cannot assign requested address
    at sun.nio.ch.Net.bind(Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
    at org.apache.hadoop.ipc.Server.bind(Server.java:225)
    ... 8 more

2012-05-19 08:46:07,516 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: 



我检查端口并一次又一次修改所有conf文件,但没有找到解决方案。如果有人有想法,请指导我 -
Thnaks很多

1 个答案:

答案 0 :(得分:0)

根据您的评论,您可能很可能与主机文件相关。

首先,您应该取消注释127.0.0.1 localhost条目,这是一个基本条目。

其次,您是否设置了hadoop和hbase以使用外部可访问服务运行 - 我对hbase不太满意,但对于hadoop,服务需要绑定到非本地主机地址以进行外部访问,因此您的主人$ HADOOP_HOME / conf中的从属文件需要命名实际的机器名称(如果没有DNS服务器,则为IP地址)。您的配置文件都不应该提及localhost,并且应该使用主机名或IP地址。