我在和ApacheMesos和marathon合作。我有3个主节点和3个从节点。我用quorum 2配置mesos。后来我发布了一个json,用marathon运行一个作业,看起来都很好。
然后我尝试关闭两个主节点来打破仲裁,在这之后,mesos取消所有从节点的注册并且看起来都正常,但是当我检查从节点时,我发现启动的作业正在继续运行…这是正常的吗?我以为在法定人数不到之后,马拉松比赛就停止了所有的工作。
我在和ApacheMesos和marathon合作。我有3个主节点和3个从节点。我用quorum 2配置mesos。后来我发布了一个json,用marathon运行一个作业,看起来都很好。
然后我尝试关闭两个主节点来打破仲裁,在这之后,mesos取消所有从节点的注册并且看起来都正常,但是当我检查从节点时,我发现启动的作业正在继续运行…这是正常的吗?我以为在法定人数不到之后,马拉松比赛就停止了所有的工作。
1条答案
按热度按时间oipij1gg1#
mesos哲学的一部分,特别是对于长时间运行的服务,是一个或多个mesos组件中的故障不需要停止用户应用程序。
如果从机关闭并且框架启用了检查点,那么执行器驱动程序将等待从机的检查
--recovery_timeout
(默认15分钟)然后关闭执行器/任务。要防止这种情况,请在框架上禁用检查点(在marathon中,只需设置--checkpoint=false
开始马拉松时)。另见马拉松--failover_timeout
在https://mesosphere.github.io/marathon/docs/command-line-flags.html另一方面,如果只是master/zk关闭了,而从机仍然在运行,那么从机仍然可以监视任务并排队等待状态更新,这样任务就可以保持活动状态。如果zk失去quorum,那么就没有主进程,每个从进程将继续独立运行,直到检测到新的主进程,此时它将向主进程重新注册并发送任何排队状态更新。