NameNode:java.net.BindException [英] NameNode: java.net.BindException

查看:108
本文介绍了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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆