Amazon Elastic MapReduce(AWS EMR)を触るだけ触ったメモ

参考ページ
チュートリアル: Amazon EMR 入門 - Amazon Elastic MapReduce

EMRを使うには

  1. S3にbucketを作成する net.mindtide.myemrbucketとした。
  2. S3に出力ディレクトリを作成する
  3. EMRのクラスターを作成する。

    • ハードウェア構成を指定する
      • Master
      • Core
      • Task
      • カウントとかスポットをリクエストとかがよくわからなかった
    • セキュリティの設定はEC2でsshのキーを作成するとキーペアが選べる
    • Bootstrap Actions : Hadoopの各クラスタが起動する前に実行するスクリプトとか何かしらの処理を指定できるらしい。
  4. Hiveプログラムのステップを追加する 東京リージョン:ap-northeast-1

    • スクリプトの場所:s3://ap-northeast-1.elasticmapreduce.samples/cloudfront/code/Hive_CloudFront.q
    • S3の場所の入力:s3://ap-northeast-1.elasticmapreduce.samples/cloudfront
    • S3の場所の出力:s3://net.mindtide.myemrbucket/output
  5. プロビジョニングが終わるまでしばらく待つ。*1

  6. 実行結果がs3://net.mindtide.myemrbucket/output配下に出力されたのを確認。
  7. Hue上でHiveを実行して結果が出たことを確認。

はまったところ

  • EMRのクラスターを作ったリージョンを勘違いしていてスクリプトが見つからないエラーで悩まされた。
  • stepを再実行するのに毎回クラスターを作り直していたけど、stepのクローンでやるものらしい。

AWSCLIで操作する

  1. brew install awscli
  2. aws configure
  3. AMIでユーザに権限を与える
  4. aws ec2 list-instancesなどでインスタンスの状態が出力されることを確認
chloe:Desktop usadamasa$ aws ec2 describe-instances --output table --region ap-northeast-1
-------------------
|DescribeInstances|
+-----------------+
  1. 補完を効かすには、.bash_profileなどにcomplete -C $(which aws_completer) awsを追記する。

    あとで調べる用語

  2. EMRFS

  3. EC2インスタンスタイプ
  4. HUE

*1:結構かかる。5分ぐらい