2012年10月19日金曜日

Huahin EManager 0.1.0 released

EManager、Managerと何が違うのかっていうと、Amazon Elastic MapReduce(EMR)に特化したManagerです。もちろん、EManagerのEはEMRのEです。

本当はManagerの中に入れちゃおうと思ったんだけど、いろいろ無理が出る感じがしたので、分けたしだいです。まぁ、内部での使用もEManagerとManagerがあって、インターフェースで切り替えて、オンプレHadoopとEMRを使い分けてる感じなので、同じっちゃ同じなんですけど。

EManagerができることは、基本Managerと同じで以下のとおり。
  • Job Flowの一覧取得
  • Job Flowの詳細取得
  • StepのKill
  • キューの一覧取得
  • キューの詳細取得
  • キューの登録
まず、Managerと違う点。
Jobの一覧等がJob FlowとStepという感じでEMRのものになってます。キューはManagerと同じだけど、Jobの実行できるものがHive, Pig, Streaming, Custom JarとEMRで使えるものは基本的に使えます。

EManager独自の機能。
まず、Stepのkill。現状、EMRはJobのkillを行うにはEMR自体をターミネートするか、マスターインスタンスにログインしてkillするしか方法がありません。EManagerはManagerと組み合わせることでこの機能を実現しています。

クラスタ数の指定。複数のHadoopクラスタ(EMR)を起動し制御することができます(複数起動する場合は、インスタンスの上限値に注意する必要あり)。

コスト管理。EC2は時間課金なので1時間使用しようが5分使用しようが料金は同じです。Jobが終了したらEMRをターミネートするのではなく、起動したままで次のキューが登録されたら、起動しているEMRにJobを割り振ります。1時間未使用のままであれば自動的にEMRがターミネートされます。

Job(step)の実行。EMRはS3に保存してあるスクリプトなりを指定して実行しますが、EManagerのREST API(APIしかないんだけど)のメソッドでPOSTを指定した場合にファイルをS3に送信することができるのでオンデマンドで実行する時に楽です。オプションの指定で、実行が完了したスクリプトは削除もできます。

などなど。

一応これで、内部のツール系ものは出し切った感。


0 件のコメント:

コメントを投稿