我正在评估ec2/emr运行~20节点hadoop集群(自定义jar集群)。我已经在一个单节点3.3ghz 2gbram本地vmware示例上运行了这个简单的wordcount示例,只需不到10秒就可以完成。wordcount示例需要3分钟才能在带有2个c1.mediumm示例的emr上完成(不包括3-5分钟的启动时间)。对于2个m1.small示例需要相同的时间。在emr上运行作业会有一些开销,而且这个问题可能太小,所以这似乎是可以理解的。
在什么规模的问题上,您开始看到云的性能优势?或者大约有多少个节点或计算单元?
1条答案
按热度按时间vu8f3i0k1#
如果你正在旋转一个emr作业,这基本上意味着你要求amazon为你提供一个由n台机器组成的按需集群,而简单的配置和给你这些机器的过程很容易需要几分钟,更不用说这些机器需要设置,可以有引导操作,等等。我很少看到emr作业(即使是大的作业)需要10分钟以上才能准备好集群,但我也很少看到集群在不到几分钟的时间内启动。
如果您有一个频繁运行的作业(例如每小时运行一次),那么设置和关闭emr集群的成本可能太大,在这种情况下,最好使用ec2上的一些保留示例创建集群。对于保留示例,您将始终拥有自己的集群并由您管理,因此设置/关闭集群不会浪费时间,这就像常规hadoop集群一样。
过去几年我一直在做的是在保留示例上使用ec2集群,它总是处于运行状态,并且所有作业都在它上面运行,但是对于一些非常大的作业,它们不能放在我的集群上,我在emr上运行它们,在那里我可以选择需要多少节点,而且由于这些都是大型作业,因此设置/关闭集群的时间与整个运行时相比很小。我不建议对小型/频繁的工作使用emr。