【问题标题】:Apache Mesos/Chronos task status is not getting updated and stuck as RUNNING statusApache Mesos/Chronos 任务状态未更新并卡在 RUNNING 状态
【发布时间】:2021-02-09 18:30:19
【问题描述】:

我在本地使用 Mesos 1.3.1 和 Chronos。我目前每 30 分钟安排 100 个作业进行测试。

有时任务会永远卡在 RUNNING 状态,直到我重新启动任务卡住的 Mesos 代理。在此期间没有重新启动代理。

我尝试 KILL 任务,但它的状态从未更新为 KILLED,而 Chronos 中的日志显示成功接收到请求。我已经在 Chronos 中检查它确实将任务更新为成功并且结束时间也正确,但持续时间正在进行并且任务仍处于 RUNNING 状态。

对于被卡住的任务,执行器容器也会永远运行。我有一个执行器容器,它将休眠 20 秒,并将 offer_timeout 设置为 30 秒,将 executor_registration_timeout 设置为 2 分钟。

我还每 10 分钟包含一次 Mesos 协调,但它每次都会将任务更新为 RUNNING。

我还尝试在协调之前强制任务状态再次更新为已完成,但仍未更新为已完成。 似乎 Mesos 领导者没有为卡住的任务获取正确的状态。

我尝试使用不同的任务资源分配(cpu:0.5,0.75,1...)运行,但没有解决问题。我将作业数量更改为每 30 分钟 70 个,但仍在发生。这个问题每天出现一次,非常随机,任何工作都可能发生。

如何在不重新启动 Mesos 代理的情况下从活动任务中移除这个卡住的任务? 有没有办法防止这个问题发生?

【问题讨论】:

  • 你能分享一些日志吗?

标签: mesos mesosphere mesos-chronos


【解决方案1】:

目前在 Linux 中的 Docker 中存在一个已知问题,即进程已退出但 docker 容器仍在运行。 https://github.com/docker/for-linux/issues/779

因此,执行器容器卡在运行状态,Mesos 无法更新任务状态。

我的问题与此类似:https://issues.apache.org/jira/browse/MESOS-9501?focusedCommentId=16806707&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16806707

在 1.4.3 版本之后应用了该变通方法的修复。升级 Mesos 版本后,不再出现这种情况。

【讨论】:

    猜你喜欢
    • 2019-05-13
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多