嗨伙计我被困在非常奇怪的问题。我正在安装HBase和Hadoop的另一个虚拟机从我的机器访问它。现在我已经正确安装hadoop,然后iran它./start-all.sh,我看到所有的进程完美地运行。所以我做了,我看到了
JobTracker的
的TaskTracker
名称节点
secondrynamenode
数据节点
一切运行良好。现在当我设置hbase,然后启动hadoop和Hbase,我看到namenode没有运行,并在日志(从namenode日志文件)我得到这个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:
我检查了端口,并一次又一次修改所有conf文件,但没有find解决scheme。 请引导我,如果有人有一个想法 –
Thnaks很多
根据您的评论,您可能最有可能与hosts文件相关。
首先,您应取消注释127.0.0.1本地主机条目,这是一个基本条目。
其次,你有没有设置hadoop和hbase运行外部可访问的服务 – 我不是太紧张,但对于hadoop,服务需要绑定到非本地主机地址进行外部访问,所以你的主人和从属文件在$ HADOOP_HOME / conf中需要命名实际的机器名(如果没有DNS服务器,则为IP地址)。 你的配置文件都不应该提到localhost,而应该使用主机名或IP地址。