AWS:Introduction to Elastic MapReduce
Introduction
to Elastic MapReduce
Topics
* Overview of Elastic MapReduce
* Amazon Elastic MapReduce and Hadoop
* Master and Slave Nodes
This introduction to Elastic MapReduce provides a high-level overview
of this web service. After reading this section, you should understand
the basics you need in order to work through the examples in this guide.
Overview of Elastic MapReduce
Elastic MapReduce is a web service that makes it easy for businesses,
researchers, data analysts, and developers to efficiently and
cost-effectively process vast amounts of data using the Amazon Elastic
Compute Cloud (EC2) and Amazon Simple Storage Service (Amazon S3).
Whether you already have an end-to-end data processing job flow or only
a data set, Elastic MapReduce lets you focus on analyzing your data
instead of the mechanics of the processing, including managing a
cluster of computers in a complex distributed software development
environment. Elastic MapReduce enables you to implement data processing
applications for a number of purposes, such as web indexing, data
mining, log file analysis, machine learning, scientific simulation, and
bioinformatics research, among others.
EMRウェブサービスによりビジネス、研究者、データ分析家、開発者が効果的に、低コストで大量の
データ処理をEC2とS3を使って行なう事ができます。すでにend-to-endのデータ処理ジョブフローを持っていたり、あるいは単にデータセットが
あるだけかもしれませんが、EMRにより処理のメカニズムではなくデータ分析にフォーカスできるようになります。複雑な分散ソフトウェア開発環境にあるコ
ンピュータクラスタの管理など行なう必要が亡くなります。EMRによりデータ処理アプリケーションを実装する事ができます。Webの索引付け、データマイ
ニング、ログファイル分析、マシン学習、科学シュミレーション、遺伝子研究とか。
Amazon Elastic MapReduce and Hadoop
Elastic MapReduce uses Apache Hadoop, which is an open source Java
software framework that supports massive data processing across a
cluster of servers. Hadoop uses a programming model called MapReduce
that divides a large dataset into many small fragments. Hadoop
distributes a data fragment and a copy of the MapReduce executable to
each of the slave nodes in an EC2 cluster. All slave nodes run the
MapReduce executable on their subset of the data. Hadoop then combines
the results from all of the slave nodes into a finished output. Elastic
MapReduce uploads that output into the Amazon S3 bucket you designate.
EMRはApache Hadoopを使っています。オープンソースのJava
ソフトウェアフレームワークで巨大データ処理をサーバークラスタにまたがって行ないます。HadoopはMapReduceというプログラミングモデルを
使っていますが、これは巨大なデータセットを多くの小さなフラグメントに分割します。Hadoopはデータフラグメントを分散させ、MapReduce実
行形式をEC2クラスタの各スレーブノードにコピーします。すべてのスレーブノードはMapReduce実行形式をデータのサブセットに対して実行しま
す。その後すべてのスレーブノードの結果を連結して1つに出力します。EMRはその出力を指定したS3バケットにアップロードします。
Typically, the processing involves performing relatively simple
operations on very large amounts of data, for example, adding a
watermark to 1,000,000 digital images. It is also typical to perform
more than one process on the data. Each process is called a step and
the sequence of steps is called a job flow.
大抵の処理ではかなり小さな処理をとても巨大なデータに行ないます。例えば、1つのウォーターマーク
を1,000,000のデジタルイメージに加えるとか。1つのデータには複数のプロセスを実行する事がおおいです。各プロセスはステップと呼ばれ、ステッ
プの流れはジョブフローと呼ばれます。
For more information about Hadoop, go to http://hadoop.apache.org/core/.
Job Flow and Steps
A job flow is a user-defined task that Elastic MapReduce performs. A
job flow consists of one or more steps each of which must complete in
sequence successfully for the job flow to finish successfully. A step
maps roughly to one algorithm that manipulates the data. A job flow
typically consists of multiple steps. The output of one step becomes
the input of the next.
ジョブフローはユーザーが定義したEMFが実行するタスクです。ジョブフローは複数のステップから実
行され、それぞれはジョブフローが正常終了する順番で完了しなければなりません。ステップは大まかにいって1つのアルゴリズムでデータを処理します。ジョ
ブフローは通常複数のステップから構成されます。1つのステップの出力は次のステップの入力になります。
Hadoop and Amazon Elastic MapReduce
Hadoop performs the MapReduce functions of dividing up the work among
the slave instances in the cluster, tracking status, and combining the
individual results into one output.
HadoopはMapReduce関数を使ってクラスターを構成する複数のスレーブサーバーに作業を
分割します。状態を監視し、個別の結果を1つの出力にまとめます。
Elastic MapReduce takes care of provisioning an EC2 cluster,
terminating it, moving the data between it and Amazon S3, and
optimizing Hadoop. Elastic MapReduce removes most of the cumbersome
details of setting up the hardware and networking required by the
server cluster, such as monitoring that setup, configuring Hadoop, and
executing the job flow. Together, Elastic MapReduce and Hadoop provide
all of the power of Hadoop processing with the ease, low cost,
scalability, and power afforded by Amazon S3 and EC2.
EMRはEC2の起動したり、終了したり、データをS3とのあいだで移動させたり、Hadoopの最
適化を行なったりします。EMRをつかうと細かいめんどくさい事をやらずにすみます。ハードウェアの設定やクラスタに必要なネットワーキングとかです。
セットアップ、Hadoopの構成、ジョブフローの実行とかです。EMRとHadoopを使う事でHadoopのすべてのパワーを簡単に低予算でスケーラ
ブルに,そしてS3/EC2でえられるパワーを利用する事ができます。
Master and Slave Nodes
An EC2 cluster contains one master node and one or more slave nodes, as
depicted in the following figure.

The master node helps coordinate the distribution of the MapReduce executable and subsets of the entire dataset to the slaves and tracks the status of each task being performed by the slaves. Hadoop monitors the health of all of the instances. If Hadoop determines that an instance is not performing, Elastic MapReduce terminates the instance and restarts another.
マスターノードはスレーブに対するMapReduceの実行形式と全データセットのサブセットの分散 管理を行ない、スレーブで実行されている各タスクの状態をトラックします。Hadoopはすべてのサーバーの状態をモニターします。Hadoopがある サーバーが動いていないと判断すると、EMRがそのサーバーを停止させて他のサーバーを起動します。
Each slave node has a copy of the MapReduce executable and receives from Amazon S3 a portion of the entire data set. Each slave node processes the data, uploads it back to Amazon S3, and provides status metadata to the master node.
それぞれのスレーブノードはMapReduce実行形式のコピーを持っていて、S3からデータセット の部分を取得します。そのデータを処理し、S3にアップロードし直してマスターノードに対して状態のメタデータを提供します。


