4 つのノードを持つ Hadoop クラスターをセットアップしました。map-reduce タスクを実行すると、map タスクはすぐに終了しますが、reduce タスクは 27% でハングします。ログを確認したところ、reduce タスクがマップ ノードからのマップ出力のフェッチに失敗したことがわかりました。
master のジョブ トラッカー ログには、次のようなメッセージが表示されます。
---------------------------------
2011-06-27 19:55:14,748 INFO org.apache.hadoop.mapred.JobTracker: Adding task (REDUCE)
'attempt_201106271953_0001_r_000000_0' to tip task_201106271953_0001_r_000000, for
tracker 'tracker_web30.bbn.com.cn:localhost/127.0.0.1:56476'
マスターの名前ノード ログには、次のようなメッセージが表示されます。
2011-06-27 14:00:52,898 INFO org.apache.hadoop.ipc.Server: IPC Server handler 4 on
54310, call register(DatanodeRegistration(202.106.199.39:50010, storageID=DS-1989397900-
202.106.199.39-50010-1308723051262, infoPort=50075, ipcPort=50020)) from
192.168.225.19:16129: error: java.io.IOException: verifyNodeRegistration: unknown
datanode 202.106.199.3 9:50010
ただし、「web30.bbn.com.cn」も 202.106.199.39、202.106.199.3 もスレーブ ノードではありません。このような ip/domains が表示されるのは、hadoop がノードの解決に失敗し (最初にイントラネット DNS サーバーで)、次に上位レベルの DNS サーバーに移動し、後でトップに移動しても失敗し、その後「ジャンク」ip/domains が表示されるためだと思います返されます。
しかし、構成を確認したところ、次のようになります。
---------------------------------
/etc/hosts:
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.225.16 master
192.168.225.66 slave1
192.168.225.20 slave5
192.168.225.17 slave17
conf/core-site.xml:
---------------------------------
<?xml version="2.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop_tmp/hadoop_${user.name}</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:54310</value>
</property>
<property>
<name>io.sort.mb</name>
<value>1024</value>
</property>
</configuration>
hdfs-site.xml:
---------------------------------
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
達人:
---------------------------------
master
奴隷:
---------------------------------
master
slave1
slave5
slave17
また、すべてのファイアウォール (iptables) がオフになっており、各 2 ノード間の ssh は問題ありません。そのため、エラーがどこから来たのか正確にはわかりません。助けてください。どうもありがとう。