1

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

您开始看到云的性能优势大约是什么规模的问题?或者大约有多少个节点或计算单元?

4

1 回答 1

2

如果您正在启动 EMR 作业,这实质上意味着您要求 Amazon 为您提供 N 台机器的按需集群,而配置和提供这些机器的简单事实很容易花费几分钟,更不用说这些机器需要设置,可以有引导操作,等等。我很少看到 EMR 作业(即使是大型作业)需要超过 10 分钟才能使集群准备好,但我也很少看到集群在不到几分钟的时间内启动。

如果您有一项经常运行的作业(例如每小时运行一次),那么设置和关闭 EMR 集群的成本可能会太大,在这种情况下,最好使用一些EC2 上的预留实例。使用预留实例,您将始终拥有自己的集群并由您管理,因此不会浪费时间设置/关闭集群,这就像常规的 Hadoop 集群一样。

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

于 2013-06-03T07:48:17.053 回答