2012-05-23 38 views
3

我正在使用亚马逊EMR进行一些密集计算,但开始计算需要大约7分钟,是否有一些巧妙的方法让我的计算立即开始?计算是从用户面对的网站开始的一个python流,所以我不能真正承受长时间的启动。如何加速亚马逊EMR bootstrap?

我可能只是错过了亚马逊AWS海洋中的一个选项。我只是想简单地发布作业(这是我使用EMR),可扩展性,并且仅支付我使用的内容(并且启动时间没有用)。

回答

1

您的数据源托管在哪里?

如果在S3(可能),如果你有很多小文件,它是每个连接(每个文件)的延迟花费时间。

如果这是唯一的原因,那么,你的启动时间7分钟将转化从S3时间阅读〜5分钟=>〜S3上

1GB输入文件
+0

源是一个主要的30Mo文件加上5-6个其他配置文件在一边,所以我不认为这是问题所在。 – nraynaud

+0

你使用什么样的实例?对于核心节点而言,任何小于媒体的性能都会降低。 – newToFlume

2

这是非常正常的,很少有你可以做这件事。我开始了100多个节点集群,并且在开始处理之前我已经看到它们需要15分钟以上的时间。鉴于后台正在进行的工作量,我很乐意让他们在15分钟左右的时间内完成集群的配置并读取可能需要的任何数据。我害怕的野兽的性质。

3

我知道这是一个老问题,但有一些见解我会添加到下一个搜索者,他发现此线程希望加快Amazon EMR的引导时间。

有一段时间我想知道为什么我的团队花了这么长的时间开始,通常约15分钟。这通常需要大量的时间来完成一个小时内完成的工作。有时候它会将工作推到1小时以上,但我认为AWS不会为完整的启动时间收取费用。

最近几天我注意到我的启动时间得到了改善。你会发现现货市场在四月和五月的第一周变得非常波动。通常情况下,我完全启动我的集群现场实例,因为失败是一种选择,节约成本证明了我的情况。但是,等待14个小时后,我必须切换到OnDemand,我只有这么多的耐心,过夜通常会超过它。 OnDemand群集在大约5分钟内启动。由于疯狂似乎已经减弱,现在已经转回到现场,我回到了15分钟的集群。

所以,如果您在核心或主节点上使用竞价型实例,则需要较长的启动时间。我将尝试在核心中使用一小组OnDemand,并增加大量现货实例,以查看它是否有助于启动并更好地处理现货市场波动。

+0

有趣。我使用的是所有现场实例,有些时候会相当快地开始(反正<10分钟),有时甚至更长(15和计算我当前的群集)。我不认为这个点与OnDemand会影响启动时间,但我知道什么? –

+0

是的,我也看到了,有时它很快但通常不是。我现在基本上假设现场实例谈判为7分钟,自举为7分钟。 – AaronM

+0

为什么现场实例需要更长时间才能启动?看起来这样(有趣的),但如果你的出价超过了现货,那么不应该有任何额外的延迟 - 尽管在所有节点可以分配之前,你的购买推动价格上涨的可能性很小。 – Patrick