嗨,大家好,我陷入了一个非常奇怪的问题。我正在通过从我的机器访问HBase和hadoop在另一台VM上安装它。现在我已经正确安装了hadoop然后运行它./start- all.sh,我发现所有进程都在运行perfectly.So我做JPS和我看到 的JobTracker 的TaskTracker 的NameNode secondrynamenode 数据节点
都运行good.Now当我安装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文件,但是没有找到解决方案。如果有人有任何 想法请指导我- 大量的想法
根据您的评论,您很可能与hosts文件有关。
首先,您应该取消注释127.0.0.1 localhost条目,这是一个基本条目。
其次,是否将hadoop和hbase设置为与外部可访问服务一起运行- 我不是在hbase上过分,但是对于hadoop,服务需要绑定到非本地主机地址以进行外部访问,因此您的主文件和从文件$ HADOOP_HOME / conf中的名称需要命名实际的计算机名称(如果没有DNS服务器,则为IP地址)。您的所有配置文件都不应提及localhost,并且应使用主机名或IP地址。