検索
連載

Amazon Elastic MapReduce(EMR)の選択肢を考えるきょうから試せる Hadoop“スモールスタート”ガイド(5)(5/6 ページ)

実際にHadoopで処理を実装していきながら「Hadoopは、誰にだって扱える」を体感しましょう。今回は「Amazon Elastic MapReduce(EMR)の選択肢と活用方法」を解説します。

Share
Tweet
LINE
Hatena

EMRを構成するアーキテクチャ

 次に、EMRがどのようなアーキテクチャで構成されているのかを説明します。

サポートしているファイルシステム

 EMRでは通常、入力データと出力データをS3に保存します。HDFSも利用していますが、これは主にMapperの出力などの中間データの格納先としてのみ利用されます。EMRは次のようなファイルシステムをサポートしています。

  • HDFS
  • S3ネイティブファイルシステム(s3n://xxx)
  • S3ブロックファイルシステム(s3://xxx)
  • ローカルファイルシステム

 HDFSはEC2インスタンスのローカルディスク上に構築され、中間データの格納先として利用されます。データの読み出しや書き込みは基本的にS3に対して行われます。

ジョブフローとステップ

 EMRではジョブフローやステップといった用語が使われます。ジョブフローやステップとはいったい何なのでしょう。言葉が独特なので違和感を覚えるかもしれませんが、EMRでは一連の処理をジョブフロー、その中で実行されるそれぞれの処理をステップと呼びます。

EMRのジョブフローとステップ
用語 説明
ステップ ひとつのHadoopジョブ
ジョブフロー 複数のステップを含む一連の処理で、クラスタ毎にひとつ割り当てられる

 EMRを起動するとまずジョブフローが起動します。ジョブフローはユーザからデータ処理の指示を受け取り、ステップを起動して作業指示を出し、進捗状況をステータスとして報告する役割です。

 ジョブフローには複数のステップが登録されます。ひとつのジョブフローの中にステップは256個まで登録可能であり、ジョブフロー内ではステップは定義された順番で実行されます。ステップは基本的にはHadoopを使った処理ですが、Hadoopを利用しない特定のサーバ単体での処理を登録することもできます。

ステータス遷移

 ジョブフローは一連の処理であり、ジョブフローの進捗によってステータスが変わっていきます。ジョブフローのステータスは「STARTING」、「BOOTSTRAPPING」、「RUNNING」…と変化していきます。それぞれのステータスについてまとめるとこのようになります。

表ジョブフローのステータス遷移
状態 ステータス 説明
ジョブフロー起動 STARTING EC2インスタンスの起動やHadoopクラスタの構築
ブートストラップアクション BOOTSTRAPPING Hadoopクラスタの環境構成のカスタマイズなどを行う
ステップ処理 RUNNING ステップ処理が実行されている
待機状態 WAITING ジョブフローが作業指示を待っている
シャットダウン SHUTTING_DOWN ジョブフローがHadoopクラスタを終了している
ジョブフロー完了 TERMINATED ジョブフローが完了している

 それぞれのステップでもステータス遷移がありますが、こちらは「PENDING」、「RUNNING」、「COMPLETED」の順にステータンスが変化していきます。もしステップがエラーで失敗した場合には「FAILED」というステータスになり、以降のステップはすべて「PENDING」となります。

インスタンスグループ

 実は、EMRは起動時にEC2インスタンスを起動しますが、そのインスタンスは「マスターインスタンスグループ」、「コアインスタンスグループ」、「タスクインスタンスグループ」という3つのグループのいずれかに属します。それぞれの役割は以下の通りです。

EMRの3つのインスタンスグループ
グループ 説明 役割
マスター ジョブフロー全体の構成管理などを行う
ジョブフローの中で複数台は起動できず、必ず1台のみ起動する
ジョブトラッカー、
ネームノード
コア HDFSを持っており、実際にデータを読み込みつつデータ処理を行う
ひとつのジョブフローに対して複数存在できる
タスクトラッカー、
データノード
タスク データは持たないがデータ処理のためにリソース提供することが可能
複数存在できるし、必要なければ存在しなくてもよい
タスクトラッカー

 これらのインスタンスグループの関係をまとめると次の図のようになります。EMR内で起動されるHadoopクラスタの中で、各ノードがいずれかのインスタンスグループに属している、というイメージです。

図3-12 インスタンスグループの関係
インスタンスグループの関係

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る