Как настроить потоковое задание Amazon EMR для использования точечных экземпляров EC2 (Ruby CLI)? - PullRequest
4 голосов
/ 15 февраля 2012

Когда я создаю потоковое задание с помощью Amazon Elastic MapReduce (Amazon EMR), используя интерфейс командной строки Ruby, как я могу указать, использовать только точечные экземпляры 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

Спасибо

1 Ответ

7 голосов
/ 15 марта 2012

Оба узла CORE и TASKS запускают TaskTrackers, но только узлы CORE используют узлы данных, так что, да, вам нужен хотя бы один узел 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

p.s. вы также могли бы запустить один 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
...