1

こんにちは皆さん、私は非常に奇妙な問題で立ち往生しています。マシンからアクセスして別のVMにHBaseとhadoopをインストールしています。これで、hadoopを適切にインストールしてから、./ start-all.shを実行し、すべてのプロセスがjpsを実行すると、
jobtracker
tasktracker
namenode
secondrynamenode
datanode

がすべて正常に実行されていることがわかりました。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
たくさん

4

1 に答える 1

0

あなたのコメントに基づいて、あなたはおそらくhostsファイルに関連しているでしょう。

まず、127.0.0.1localhostエントリのコメントを解除する必要があります。これは基本的なエントリです。

次に、外部アクセス可能なサービスで実行するようにhadoopとhbaseを設定しましたか?私はhbaseにあまり慣れていませんが、hadoopの場合、外部アクセスのためにサービスを非ローカルホストアドレスにバインドする必要があるため、マスターとスレーブのファイル$ HADOOP_HOME / confで、実際のマシン名(または、DNSサーバーがない場合はIPアドレス)に名前を付ける必要があります。構成ファイルのいずれにもローカルホストを記載する必要はなく、ホスト名またはIPアドレスのいずれかを使用する必要があります。

于 2012-05-19T16:08:32.837 に答える