NameNode:java.net.BindException [英] NameNode: java.net.BindException
问题描述
您好,我困在一个非常奇怪的问题。我正在安装HBase和hadoop在另一个虚拟机上访问它从我的机器。现在我已经正确安装hadoop,然后iran它./start-all.sh,我看到所有进程都运行得很完美。所以我做jps,我看到了
jobtracker
tasktracker
namenode
secondrynamenode
datanode
一切都运行良好。现在,当我安装hbase,然后启动hadoop和Hbase时,我看到namenode没有运行,在日志中(来自namenode日志文件),我得到了这个异常
java.lang.InterruptedException:睡眠在java.lang.Thread.sleep(本地方法)中
中断
在org.apache.hadoop.hdfs.server.namenode.DecommissionManager $ Monitor.run(DecommissionManager.java:65)
在java.lang.Thread.run(Thread.java:662)
2012-05-19 08:46:07,493 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem:事务数量:0合计(ms):0在Syncs中批处理的事务数:0同步数:0 SyncTimes(ms):0
错误org.apache.hadoop.hdfs。 server.namenode.NameNode:java.net.BindException:问题绑定到localhost / 23.21.195.24:54310:无法在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。
at org.apache.hadoop.ipc.RPC.ServerServer(RPC(JavaServer Pages:Java:1483)
at org.apache.hadoop.ipc.RPC $ Server。< init>(RPC.java:545)
at org.apache.hadoop.ipc.RPC.getServer .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)
导致:java.net.BindException:无法在sun.nio.ch.Net.bind中分配请求的地址
(本地方法)
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:$
b $ b
b $ bi检查端口并一次又一次修改所有conf文件但没有找到解决方案。
如果有人有任何想法,请指导我 -
Thnaks alot
根据你的评论,你'可能最有可能与hosts文件有关。
首先,您应取消注释127.0.0.1本地主机条目,这是一个基本条目。第二,你是否设置了hadoop和hbase来运行外部可访问的服务 - 我不是太熟悉hbase,但是对于hadoop,服务需要绑定到非本地主机地址进行外部访问,所以您的$ HADOOP_HOME / conf中的主文件和从文件需要命名实际的机器名(如果没有DNS服务器,则为IP地址)。没有一个配置文件应该提及本地主机,并且应该使用主机名或IP地址。
hi folks i am stucked in very strange problem.I am installing HBase and hadoop on another VM by accessing it from my machine.Now i have properly installed hadoop and then iran it ./start-all.sh and i see that all processes are running perfectly.So i do jps and i saw that
jobtracker
tasktracker
namenode
secondrynamenode
datanode
everything is running good.Now when I setup hbase and then started hadoop and Hbase , I saw that namenode is not running and in logs (from namenode log file) I got this exception
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:
i checked ports and revise all conf files again and again but didn't find the solution. Please guide me if anyone have an idea-
Thnaks alot
Based on your comment, you're probably is most probably related to the hosts file.
Firstly you should uncomment the 127.0.0.1 localhost entry, this is a fundamental entry.
Secondly, Have you set up hadoop and hbase to run with external accessible services - i'm not too up on hbase, but for hadoop, the services need to be bound to non-localhost addresses for external access, so your masters and slaves files in $HADOOP_HOME/conf need to name the actual machine names (or IP addresses if you don't have a DNS server). None of your configuration files should mention localhost, and should use either the host names or IP addresses.
这篇关于NameNode:java.net.BindException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!