ものぐさな人の味方・Amazon Elastic MapReduce

その昔はSlackware Linux、時代が経過したらGentoo Linuxと、サーバーまわりをいじくるのが好きだった自分だが、最近はすっかり面倒臭がりやとなり、もはや自分でサーバー環境を構築する元気はなくなった。もう時代はクラウドですよ(棒読み

そして賛否両論うずまくHadoopで遊ぶ今日この頃。当然、Amazon Elastic MapReduce。以下の手順で、hadoop関係のコマンドを直接使えるようになる。

前提

AEMインスタンス起動

$ elastic-mapreduce --create --alive --num-instances 17 --log-uri s3n://<適切なバケット名>/logs --hadoop-version 0.20
→Job識別子が返されるのでどこかにコピペしておこう。

→aliveオプションがあれば、インスタンスを上げっぱなしにできる。

AEMインスタンスにログイン

$ elastic-mapreduce --jobflow ジョブ識別子 --ssh

--------------------------------------------------------------------------------

Welcome to Amazon Elastic MapReduce running Hadoop and Debian/Lenny.
 
Hadoop is installed in /home/hadoop. Log files are in /mnt/var/log/hadoop. Check
/mnt/var/log/hadoop/steps for diagnosing step failures.

The Hadoop UI can be accessed via the following commands: 

  JobTracker    lynx http://localhost:9100/
  NameNode      lynx http://localhost:9101/
 
--------------------------------------------------------------------------------
$ 

→これでHadoop環境にはいれた。あとはHadoop本にあることは一通りできる。

S3とのファイルのやりとり

$ hadoop fs -cp source_file s3n://<格納先バケット名>/.

→s3にファイルを送る/s3からファイルを持ってくることが可能。

終了

$ exit

(元の環境に戻る)
$ elastic-mapreduce --jobflow ジョブ識別子 --terminate