最も速く Hadoop 環境を手に入れる方法

  1. クレジットカードを用意します
  2. AWS のアカウントを作ります
  3. S3 と EMR に申し込みます
  4. S3 に jar を上げて, EMR で実行します

えー, ネタが出落ちですみません. というか, 題名見てたいていの人はすぐ分かりますよね.

Amazon Elastic MapReduce on 2011-12-11 という EMR のバージョンアップが出たときに遊んでみた記録です.

EMR についてはこの連載 Amazon Elastic MapReduceの使い方─Hadoopより手軽にはじめる大規模計算 がまとまってて素晴しい情報源だと思います.

このバージョンアップでは, VPC でも EMR が動くようになりました. つまり VPN 環境さえ用意すれば, 自分のローカルなネットワークの延長として Hadoop クラスタが簡単に使えるようになりました. ハードを用意せず, Hadoop を動かすための設定もせず, (実質) ローカルな Hadoop クラスタが使えるのはやはりインパクトが大きいです.

EMR の Job Flow を組むときのウィザードにちょこっと書いてあるのですが, EMR 用に立ち上がるインスタンスには hadoop ユーザが設定されています. ウィザードの途中に keep alive という項目が出てくるのでそれを有効にしておくと, 指定したジョブが終わった後でも立ち上がりっぱなしにできます. WordCount とか適当なジョブを選んでおけば, ジョブの実行自体は数分で終わって, 後は普通の EC2 インスタンスとして触れます.

設定しておいた key pair を使って, hadoop ユーザとしてログインすることもできます. hadoop ユーザは sudoer のようで sudo su - するだけで root になれちゃいました. つまり何でもし放題です.

また HADOOP_HOME は /home/hadoop に設定してあって, そこにはお馴染の hadoop-examples.jar とかもあって, pi の値を計算して遊べます.

security group も elastic mapreduce の master, slave 用のものが自動で作成されるので, それを設定して使えます.

「一先ず hadoop コマンドを打って, Hadoop クラスタで遊んでみたい」とかいう用途には向くんじゃないでしょうか.

もちろん普通の EC2 インスタンスですので, 課金には気を付けてください.

この記事は hadoopアドベントカレンダー2011 の15日目の分として書かれました. 日付とかは気にしないでください.

それでは.

Licenses