4

当我使用Ruby命令行界面创建使用Amazon Elastic MapReduce(Amazon EMR)的流式作业时,如何指定仅使用 EC2现场实例(除master)?下面的命令工作,但“强制”我在租赁1核心实例使用...如何配置Amazon EMR流式作业以使用EC2专色实例(Ruby CLI)?

./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 

感谢

回答

7

核心和任务节点运行的TaskTracker但只有核心节点运行的DataNodes所以,是的,您至少需要一个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