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 而终止的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Amazon EMR 上将连接器添加到 presto