AWS EMR Presto 集群突然终止错误:作业流中的所有从属服务器都因 Spot 而终止

Posted

技术标签:

【中文标题】AWS EMR Presto 集群突然终止错误:作业流中的所有从属服务器都因 Spot 而终止【英文标题】:AWS EMR Presto Cluster Terminated abruptly Error: All slaves in the job flow were terminated due to Spot 【发布时间】:2020-04-29 20:33:25 【问题描述】:

我在使用 AWS EMR PrestoDB 时遇到问题。 我启动了一个集群,主节点作为协调器,核心节点作为工作节点。核心节点是现场实例。但是,主节点是按需的。集群启动 5 周后,我收到此错误消息

Terminated with errorsAll slaves in the job flow were terminated due to Spot

是不是所有的slave都终止了,集群自己也会终止? 我查看了现货定价历史记录,但它没有达到我设定的最高价格。

我已经做了什么? 我检查了转储到 s3 的日志。我没有找到任何关于终止原因的信息。刚才说了

Failed to visit ... <many directories>

【问题讨论】:

最好将任务节点旋转为现场实例而不是核心节点。即使您没有选择 hdfs/hbase,看起来 EMR 仍在旋转它们(可能是为了支持一致的视图?---并且这种一致的视图使用 hdfs --不知何故。HDFS 需要节点可用(至少 3 个)。我我猜这是否可能是您的集群关闭的原因。此外,我们注意到,如果 EMR 投入生产 6-7 天,节点会出现一些奇怪的问题(我没有想到它们) ; -- 在我看来,EMR 应该更多地用作短暂的 -- 意思是经常关闭你的 presto 【参考方案1】:

我正在回答我自己的问题。根据 presto 社区,AWS EMR Presto 集群中必须至少有一个主节点启动并运行。但是由于它被终止了,整个集群也被终止了。

【讨论】:

【参考方案2】:

为避免因现货定价/中断而导致数据丢失,需要通过快照、频繁复制到 s3 或留下 EBS 卷来备份数据。 参考:https://aws.amazon.com/premiumsupport/knowledge-center/spot-instance-terminate/

您的集群应该仍处于启动状态,但没有任务节点。在集群-> 详细信息-> 硬件下,您可以添加任务节点。 Adding task nodes

类似场景:AWS EMR Error : All slaves in the job flow were terminated

对于使用 Spot,您可能需要使用实例终止通知并设置最高价格: https://aws.amazon.com/blogs/compute/new-amazon-ec2-spot-pricing/

【讨论】:

以上是关于AWS EMR Presto 集群突然终止错误:作业流中的所有从属服务器都因 Spot 而终止的主要内容,如果未能解决你的问题,请参考以下文章

AWS EMR 集群在自定义引导时终止

如何在 Amazon EMR 上将连接器添加到 presto

EMR集群如何删除

Prestodb (AWS EMR) 加载分区元数据

使用 lambda 函数删除关联的 cloudformation 堆栈时 EMR 集群未终止

我在 AWS 中有一个现有的 EMR 集群。我想从气流运行 dag 到现有的 aws 集群