Hadoopやってみた→とりあえず感想、の巻

まだノートPC返ってこないよー。

ということで(?)会社で空いているサーバを借りて話題のHadoopをいじってみた。以前からちょっと触ってみてたのですが、少しクセがあるので、気合を入れてやってみたのはこれが最初。
(きっかけは、id:naoyaさんが公演でhadoopで6台クラスタリングしたら6倍にスケールした、、、的なことをおっしゃっていたので、俄然興味深々になったためだったりする。)

hadoopとは?

公式HP

http://hadoop.apache.org/core/

日本語の文献では

http://codezine.jp/article/detail/2448?p=1

あたりを参照して下さい。

今日やってみたこと

古めの2台のサーバでのクラスタ1と新しいサーバ4台でのクラスタ2で5GBほどのapacheのログを集計してみた。
アクセスURLごとにカウントしてみるような感じ。

えっと、、、

クラスタ1:35分
クラスタ2:1分30秒

。。。ハードウェアの差か??

ちょっと詳細な情報は出せないのですが、もう少し調査してみます。

クラスタ2のハードだけに絞って1,2,4台とmap,reduceタスク数でのパフォーマンス(処理時間)比較くらいはやろうかな。


感想

クラスタリングの設定もそれほど難しくない(エラーが出たときの対処が勘に頼らざるを得ないが。。。)のと、結構安定動作してます。
2台でクラスタリングしているときに、HDFSでデータブロックのクラスタリングを2にすると両方のサーバにデータブロックが配備されるそうですが、片方のhadoopを無理やり落として、データ領域を削除して、hadoopを再起動すると、データブロックを自動でコピーして復旧してくれたりします。賢い!

で結構速度も出るのですが、これはMapReduceがすごいというよりDFSがすごいのかもしれない。
基本的にHDFSが採用している分散ファイル設計では、ファイルの入力は遅くて、読み込み重視でパフォーマンスが出るようにしてます、たぶん。
MapReduceの分散タスクと関連して、DFSサーバも増やせば、(うまくいけば)mapreduce - 1対 dfs - 1の関係のまま対応してスケールするのではないだろうか。だから6台で6倍なのか??


というわけで、今日は久々興奮のるつぼでした
興味のある方は、この本も読んでみると楽しいですよ

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)