Hadoop を試してみる。インストールするだけで終わり、じゃなくて今度は Cluster 構成が動くようにするのが目標。
検索してもあまり日本語の情報が出てこない。何度ぐぐっても同じようなページしか出てこなくて困ったので、諦めて http://hadoop.apache.org/core/docs/current/cluster_setup.html をじっくり読む。 NameNode と JobTracker は exclusively (排他的)なマシンでないといけないと。だから三台いるってかいてあったのだな。そういうわけで三台の ssh とか /etc/hosts とか hadoop-site.xml とか slaves とかをちゃんと書いてそろえてやる。
- NameNode 192.168.0.101
- JobTracker 192.168.0.102
- DataNode/TaskTracker 192.168.0.103
こんな感じで割り振る。よく使うコマンドは以下:
$ bin/hadoop namenode -format $ bin/start-dfs.sh $ bin/start-mapred.sh $ bin/start-all.sh $ bin/hadoop fs -ls $ bin/hadoop fs -put /path/to/data/ input $ bin/hadoop jar hadoop-*-examples.jar grep input output 'REGEXP' $ bin/hadoop jar contrib/streaming/hadoop-*-streaming.jar -input input -output output -mapper 'command' -reducer 'command' [ -file '/path/to/file' ] [ -file '/path/to/file' ] $ bin/stop-dfs.sh $ bin/stop-mapred.sh $ bin/stop-all.sh
- NameNode の Web インターフェース http://192.168.0.101:50070/
- JobTracker の Web インターフェース http://192.168.0.102:50030/
で、やってみると NameNode のほうでは LiveNodes に 192.168.0.103 が出てくる、のだけど JobTracker のほうでは Nodes が 0 だった。 Nodes が 1 になって 192.168.0.103 が出てこないといけないのに。試しにこの状態のまま jar ってみたら 09/01/16 18:38:19 INFO mapred.JobClient: map 0% reduce 0% のままずっと止まってしまった。名前解決とか、設定ファイルの書き損じとか、些細なミスが原因な気がする。が解決できず。