「高速な」概念実証のために、 Yahooで擬似分散モードで構成されていることがわかった 2 つの仮想マシンを接続して、ミニ Hadoop 0.18 クラスターをセットアップしたいと考えました。
私のhadoop-vm-1で、そのマシン上にマスター ノードとスレーブ DataNode および TaskTracker を備えた完全なクラスターを開始します。次に、2 番目の VM をhadoop-vm-2として、 hadoop-vm-1に接続してこのクラスターに追加する2 番目の DataNode と TaskTracker をホストするようにしました。
残念ながら、ローカル IPC サーバーに接続する必要があるため、2 番目の DataNode を開始できません。これは、 hadoop-vm-1に接続すると予想される場所です。ログには次のように書かれています。
2013-02-07 19:55:29,954 INFO org.apache.hadoop.ipc.Client: サーバーへの接続を再試行しています: /192.168.17.135:9000。すでに 9 回試行しました。
2013-02-07 19:55:29,958 エラー org.apache.hadoop.dfs.DataNode: java.io.IOException: ローカル例外で呼び出しが失敗しました
..
原因: java.net.ConnectException: 接続が拒否されました
IP 192.168.17.135 ( hadoop-vm-2 )の代わりに、 hadoop-vm-1 の192.168.17.134 を使用する必要がありました。
スレーブの hadoop-site.xxml を正しく構成したと思います。
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop-vm-1/</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hadoop-vm-1:9001</value>
<description>The host and port that the MapReduce job tracker runs
at. If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>
</configuration>
そしてもちろん、hosts ファイルを構成しました。
127.0.0.1 localhost
127.0.1.1 hadoop-vm-2.localdomain hadoop-vm-2
192.168.17.134 hadoop-vm-1
何か案は?前もって感謝します :-)