4

Rubyコマンドラインインターフェイスを使用してAmazonElasticMapReduce(Amazon EMR)でストリーミングジョブを作成する場合、EC2スポットインスタンス(マスターを除く)のみを使用するように指定するにはどうすればよいですか?以下のコマンドは機能していますが、少なくとも1つのコアインスタンスを使用するように「強制」されています...

./elastic-mapreduce --create --stream          \
--name    n2_3                             \
--input   s3://mr/neuron/2              \
--output  s3://mr-out/neuron/2          \
--mapper  s3://mr/map.rb         \
--reducer s3://mr/noop_reduce.rb \
--instance-group master --instance-type m1.small --instance-count 1 \
--instance-group core   --instance-type m1.small --instance-count 1 \
--instance-group task   --instance-type m1.small --instance-count 18 --bid-price 0.028

ありがとう

4

1 に答える 1

7

COREノードとTASKSノードの両方がTaskTrackersを実行しますが、DataNodeを実行するのはCOREノードのみであるため、はい、少なくとも1つのCOREノードが必要です。

では、スポットコアノードを実行できますか?

./elastic-mapreduce --create --stream \
...
--instance-group master --instance-type m1.small --instance-count 1 \
--instance-group core   --instance-type m1.small --instance-count 19 --bid-price 0.028

ps 1つのCOREノードと多くのTASKノードを実行することできますが、実行する読み取り/書き込みの量によっては、18ノードが1ノードに対して読み取り/書き込みを行うため、問題が発生します。

# expect problems....
./elastic-mapreduce --create --stream \
...
--instance-group master --instance-type m1.small --instance-count 1 \
--instance-group core   --instance-type m1.small --instance-count 1  --bid-price 0.028
--instance-group task   --instance-type m1.small --instance-count 18 --bid-price 0.028
于 2012-03-14T23:51:52.100 に答える