Оба узла 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