Mesos框架故障后如何恢复Mesos执行器?

How to recover Mesos executor after Mesos framework failure?

我的场景是一个框架运行在服务器A上。它在服务器B上有一个执行器运行一个任务(一个很长的运行网络服务,初始化时间很长).服务器 A 已关闭。然后在集群中的其他地方重新启动框架。

目前,新框架在重启后会注册一个新的执行器来运行新的任务。一段时间后,Mesos master 停用旧的且不再是 运行 的框架,这反过来会杀死旧的但仍然是 运行 的执行程序及其任务。

我希望新框架重新注册旧的执行器,而不是注册一个新的。这可能吗?

Mesos 论坛上的这个回答了我的问题:

http://www.mail-archive.com/user%40mesos.apache.org/msg00069.html

收录于此供参考:

(1) One thing particular I found unexpected is that the executors are shutdown if the scheduler is shutdown. Is there a way to keep executors/tasks running when the scheduler is down? I would imagine when the scheduler comes back, it could reestablish the state somehow and keep going without interrupting the running tasks. Is this a use case that mesos is designed for?

您可以使用 FrameworkInfo.failover_timeout 告诉 Mesos 在清理之前等待框架重新注册的时间 框架的执行者和任务。

此外,请注意,要使其正常工作,框架必须坚持其 frameworkId 首次向 master 注册时。当。。。的时候 框架重新启动,需要通过设置重新连接 FrameworkInfo.framework_id = 持久化 ID。