弹性MapReduce(EMR)的比例?

时间:2013-06-03 07:26:53

标签: hadoop amazon-ec2 cloud emr

我正在评估EC2 / EMR是否运行了~20个节点的Hadoop集群。 (custom JAR群集)。我在单节点3.3 GHz 2GB RAM本地VMWare实例上运行简单的WordCount示例,完成时间不到10秒。 WordCount示例需要3分钟才能在EMR上完成2 c1.mediumm个实例(不包括3-5分钟的启动时间)。对于2个m1.small实例需要相同的时间。在EMR上运行作业会有一些开销,也许这个问题的规模太小,所以这似乎是可以理解的。

在大小问题上,您是否开始看到云的性能优势?或者大约有多少个节点或计算单元?

1 个答案:

答案 0 :(得分:2)

如果您正在启动EMR工作,这实际上意味着您要求亚马逊为您提供N台机器的按需群集,而配置和提供这些机器这一简单事实可能需要几分钟,更不用说这些机器需要设置,可以有引导动作等等。我很少看到EMR工作(甚至是大工作)花费超过10分钟来准备集群,但我也很少看到集群在不到几分钟的时间内完成。

如果您有一份经常运行的工作(例如每小时一次),那么设置和关闭EMR集群的成本可能太大,在这种情况下,最好创建一个在EC2上具有一些保留实例的集群。使用保留实例,您将拥有自己的集群,并且由您管理,因此设置/关闭集群没有时间丢失,这就像常规Hadoop集群一样。

过去几年我一直在做的是在保留的实例上使用EC2群集,该群集始终处于启动状态并且所有作业都在其上运行,但对于某些非常大且无法适应的作业我的集群,我在EMR上运行它们,我可以选择我想要的节点数,因为这些是大型作业,与总运行时间相比,设置/关闭集群的时间很短。我不建议将EMR用于小型/频繁的工作。