連載
» 2017年02月28日 05時00分 公開

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

[佐々木達也,著]
前のページへ 1|2|3|4|5|6       

EMRクラスタのノード数のリサイズ

 EMRを利用する際の大きな特徴のひとつとして、EMRクラスタのノード数を自由にリサイズできるというものがあります。つまり、Hadoopでジョブを実行しているときに想定よりも時間が掛かりそうなときにはノードを追加したり、逆にノード数が多すぎたときにはノードを減らしたりといったことが可能です。これによってEMRを効率的に利用することが可能ですし、コストも抑えられると思います。

 短時間で処理を終わらせたい場合にはノード数を増やし、逆に急がない場合にはノード数を減らすことが可能です。特に、EC2やEMRの利用料金は1時間単位の課金となっていて、例えば1分しか利用していなくても1時間分の料金が課金されます。より具体的には、1分〜 59分の利用だと1時間分、1時間〜 1時間59分の利用だと2時間分の料金が掛かるといった具合です。そのため、例えば4台で2時間5分ほどで処理が終わる場合、単純計算で3台だと2時間46分ほどで処理が終わると考えられます。この場合、

# 4台で2時間5分ほど起動した場合
4 × 3時間分 = 12 × 1時間当たりの利用料金

# 3台で2時間46分ほど起動した場合
3 × 3時間分 = 9 × 1時間当たりの利用料金

 となり、同じ処理であっても3台で動かした方がコスト的には安くなることが分かります。もちろん短時間で処理したい、などもあると思うのでそれとの兼ね合いではありますが、特に定期的に実行するような処理の場合、なるべく短時間でかつコスト的にも安くなるようにノード数を調整すると良いでしょう。

 ただし、注意点もあってタスクインスタンスグループは自由にノード数をリサイズさせることが可能なのですが、コアインスタンスグループはノード数の追加しかできません。

ブートストラップアクション

 最後にブートストラップアクションについても紹介しておきましょう。ブートストラップアクションとはHadoopクラスタの各ノード上で起動フェーズの最後に実行される処理のことです。主に、Hadoopジョブで利用するソフトウェアやライブラリのインストールやHadoopクラスタの環境構成のカスタマイズを行う目的で利用されます。

 実際の利用方法ですが、まずブートストラップアクションで実行したいスクリプトを事前にS3に格納しておきます。EMR起動時にオプションで実行したいスクリプトのパスを指定すると、EMRの起動フェーズの最後にこのスクリプトがS3からダウンロードされ、それぞれのノード上で実行されます。

 EMRでのジョブフローとブートストラップアクション、各ステップの関係を図にするとこのようになります。

図3-13 ジョブフローとブートストラップアクション、各ステップの関係 ジョブフローとブートストラップアクション、各ステップの関係

 どういった場合に利用するのかだったり、具体的な実行手順については次回以降で詳しく取り扱います。興味のある方はそちらもご覧ください。

 (続く)

Hadoopファーストガイド

Hadoopファーストガイド

佐々木達也著
秀和システム 2400円(税別)
「ビッグデータ(=従来のコンピュータシステムでは、しまったり、探し出したり、調査したり、人間にわかりやすく加工したりが難しい、とても大きなデータ)なんて自分には関係ない」そう思っているエンジニアに贈る「Hadoop」の体験型入門書です。数億のユーザを抱えるSNSの利用データのように「雲をつかむような話」ではなく、Webサイトエンジニアや普通のプログラマが親しみを感じられるような普通のデータと、Amazon EMRという手軽な実験環境を使い、実際にHadoopを動かしてみます。手軽に短い時間で分散処理のメリットを体験することで、手元の業務に眠っているかもしれないビッグデータの活用に可能性を見出せるかも知れません。

注文ページへ


前のページへ 1|2|3|4|5|6       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。