macbookにHadoopを入れたのだけどきちんと起動してない。jpsで見てみるとNameNodeが起動していないことが原因のようだった。
ログを見てみると、設定ファイルに記述したlocalhostじゃなくてマシン名+".local"(hostnameで表示される文字列)で立ち上げようとしてた。理由は良くわからんがとりあえず設定ファイルをこちらの名前で書き直す。
さらに、パスワードなしsshアクセスできるように.ssh/authorized_keysに追加しておく。
これでうまくうごいたので、早速HadoopStreamingをやってみる。サンプルコードはHadoop Streaming - naoyaのはてなダイアリーから。
$ hadoop jar hadoop-0.20.2/contrib/streaming/hadoop-0.20.2-streaming.jar \ -input log.txt -output log.out -mapper map.pl -reducer reduce.pl ... 11/04/21 05:21:24 INFO streaming.StreamJob: map 100% reduce 0% 11/04/21 05:21:33 INFO streaming.StreamJob: map 100% reduce 100% 11/04/21 05:21:36 INFO streaming.StreamJob: Job complete: job_201104202054_0004 11/04/21 05:21:36 INFO streaming.StreamJob: Output: log.out
OKっぽいのでアウトプットを見てみる
$ hadoop fs -cat log.out/part-00000
403 3
304 3786
206 2
400 11
313 14
200 49190
302 48
301 223
404 2476
あとは擬似分散環境じゃなくてちゃんとした分散環境を構築すればいいですね。
バーチャルで化合物つくると組み合わせ爆発おこしてその先のハンドリングに難儀するのでchemoinformaticsでもMapReduceうまく使えないかなと思っているわけです。
参考