@kyanny's blog

My life. Opinions are my own.

Hadoop を試す (Cluster セットアップできず)

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 のほうでは 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% のままずっと止まってしまった。名前解決とか、設定ファイルの書き損じとか、些細なミスが原因な気がする。が解決できず。