任务处理
了解 Marathon 任务类别
也可以 .
图 1. 任务处理图
终端状态
任务描述包含错误。Marathon 将任务标记为错误之后,就会将其排除并启动新的任务。
任务未能成功完成。Marathon 将任务标记为失败后,就会将其排除并启动新的任务。
case TASK_DROPPED => Dropped
任务因瞬时错误而无法启动。任务的执行器从未启动运行。与 TASK_ERROR 不同,任务描述有效,尝试再次启动任务可能会成功。
case TASK_GONE => Gone
任务在管理节点联系不到的代理上运行;算子断定该代理已关闭,但尚未得到管理节点的直接确认。如果算子正确,则任务不运行,而且这是终端状态;如果算子错误,则任务仍可能运行,并且将来可能恢复为“运行”状态。Marathon 将任务标记为失败后,就会将其排除并启动新的任务。
鉴于代理被视为已消失且无法提供这些卷,如果任务配置为使用 本地持久卷,则这些将被放弃。将创建一个新任务作为替代,并使用新卷。
任务成功完成。
case TASK_UNKNOWN => Unknown
管理节点不知晓该任务。这通常是因为 (a) 管理节点从未知晓任务,或 (b) 管理节点的垃圾收集器收集了该任务的元数据,所以忘记了该任务。任务可能仍在运行,也可能不再运行。Marathon 收到“未知”消息后,就会排除该任务并启动新的任务。
case TASK_KILLED => Killed
任务被执行器关闭。
非终端状态
初始状态:任务正在分段。
任务正在运行。
case TASK_KILLING => Killing
任务被执行器关闭。
任务在与管理节点丢失联系的代理上运行,通常是因为网络故障或分区。任务可能仍在运行,也可能不再运行。Marathon 收到“任务不可访问”消息之后,就会启动替换任务。如果不可访问的时间超过 15 分钟,Marathon 就会将任务标记为未知,然后排除任务。
[
为无法访问的任务配置 Marathon
]($d062b4402f3b3221.md)