【问题标题】:if an aws spot instance is stopped by AWS and then restarts will it just start where it left off?如果 aws spot 实例被 AWS 停止然后重新启动,它会从中断的地方开始吗?
【发布时间】:2023-01-10 01:05:01
【问题描述】:

我正在运行 luigi,这是一个处理 1000 个任务的管道管理器。目前我正在轮询 AWS 终止通知。如果它存在,那么我重新排队工作;等待 30 分钟;然后启动一个新服务器,从头开始所有任务。但是有时它会多次重新启动同一个作业,效率很低。

相反,我正在考虑将 create_fleet 与 InstanceInterruptionBehaviour=Stop 一起使用?如果我这样做,那么当它重新启动时,它是否仍会运行 luigi 守护进程并保留所有任务的状态?

【问题讨论】:

  • 就像它在您的笔记本电脑上运行一样,您确实关闭了笔记本电脑,然后又将其重新打开。 RAM 中的任何内容都将被擦除。操作系统和所有应用程序都必须重新启动。我不知道“luigi”是什么,所以我不知道它是否会从它停止的地方启动,但它必须在关机时将其状态保存到硬盘驱动器并在启动时读取它,以便那个工作,所以你必须考虑配置你的应用程序来做到这一点。

标签: amazon-ec2


【解决方案1】:

InstanceInterruptionBehaviour=Stop 所做的只是有效地关闭您的 EC2 实例,而不是终止它。自 "persistent" setting is required in addition to EBS storage" 起,您将在实例停止时将当前所有数据保留在附加的 EBS 卷上。

它完全依赖于应用程序本身(在本例中为 Luigi)能够存储其执行状态并从中断处恢复。首先,您需要确保启用服务守护程序以在系统启动时自动启动(示例):

sudo systemctl enable yourservice

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 2019-08-03
    • 2016-11-22
    • 2015-10-29
    • 1970-01-01
    • 2022-11-18
    相关资源
    最近更新 更多