7

6 つのノード (マスター、salve<1-5>) を持つ Hadoop クラスターを正常にセットアップしました。

  • namenode のフォーマット -> 完了
  • クラスタの起動とシャットダウン -> 正常に動作
  • 「hadoop dfs -ls /」を実行すると、このエラーが発生します ->エラー: INFO ipc.Client: Retrying connect to server: localhost

以下を使用して実行中のサービスを確認しようとしました。

sudo netstat -plten | grep java
hduser@ubuntu:~$ sudo netstat -plten | grep java

tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 1000 93307 11384/java
tcp 0 0 0.0.0.0:44440 0.0.0.0:* LISTEN 1000 92491 11571/java
tcp 0 0 0.0.0.0:40.0633. * リッスン 1000 92909 11758/java
tcp 0 0 0.0.0.0:50010 0.0.0.0:* リッスン 1000 93449 11571/java
tcp 0 0 0.0.0.0:50075 0.0.0.0:* リッスン 1000 93673/0 .java 0
cp0.1151 0.0:50020 0.0.0.0:* リッスン 1000 93692 11571/java
tcp 0 0 127.0.0.1:40485 0.0.0.0:* リッスン 1000 93666 12039/java tcp 0 0 0.0.0.0:44582 0.0.0.0:*
リッスン 1000 93013 11852/java
tcp 0 0 10.42.43.0:0.5 * リッスン 1000 92471 11384/java
tcp 0 0 10.42.43.1:54311 0.0.0.0:* リッスン 1000 93290 11852/java
tcp 0 0 0.0.0.0:50090 0.0.0.0:* リッスン 1000 java 93460
. 0 1 1 0.0:34154 0.0.0.0:* リッスン 1000 92179 11384/java
tcp 0 0 0.0.0.0:50060 0.0.0.0:* リッスン 1000 94200 12039/java
tcp 0 0 0.0.0.0:50030 0.0.0.0:* リッスン 1000 93550 11852/java

ポート 54310 および 54311 にバインドされたマスター IP であり、ローカルホスト (ループバック) ではありません。

conf-site.xml が適切に構成されています。

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:54310</value>
</property>
</configuration>

ここで構成したマスターではなく、localhost が 54310 にバインドされることを期待しているのはなぜですか。助けていただければ幸いです。これを解決するにはどうすればよいですか??

乾杯

4

3 に答える 3

1

どうやら、私が新しい hadoop(1.0.4) bin ディレクトリを追加する前に、誰かが古い hadoop(1.0.3) bin ディレクトリをパス変数に追加したようです。そのため、CLI から「hadoop」を実行すると、新しいものではなく古い Hadoop のバイナリが実行されました。

解決:

  • 古い Hadoop の bin パス全体を削除します

  • クラスタのシャットダウン - ターミナルを終了します

  • 新しい端末セッションでログイン

  • 起動ノード

  • 試してみhadoop dfs -ls /ました -> 正常に動作します!!!! 良い教訓が得られました。

于 2012-11-14T17:17:05.963 に答える
0

多くの人がこの問題に遭遇したようです。

/etc/hosts を変更する必要はないかもしれません。マスターとスレーブに相互にアクセスできることを確認してください。また、core-site.xml が同じで、正しいマスター ノードとポート番号を指している必要があります。

次に、マスター ノードのみで $HADOOP/bin/stop-all.sh、$HADOOP/bin/start-all.sh を実行します。(スレーブで実行すると問題が発生する可能性があります)。JPS を使用して、次のようにすべてのサービスが存在するかどうかを確認します。

マスター ノード: 4353 DataNode 4640 JobTracker 4498 SecondaryNameNode 4788 TaskTracker 4989 Jps 4216 NameNode

スレーブ ノード: 3143 Jps 2827 DataNode 2960 TaskTracker

于 2014-04-22T18:38:13.880 に答える
0

さらに、namenode と datanode の間のファイアウォール ルールを確認します。

于 2014-08-21T17:33:10.950 に答える