Mesos调度程序获取重复的状态更新

时间:2014-11-18 00:47:47

标签: apache scheduler mesos

我的调度程序从执行程序获取重复的终端状态更新。我注意到这主要发生在调度程序从许多执行程序获得大量状态更新时。我试着搜索可能导致它的原因但找不到任何东西。 mesos master应该向奴隶发送一个ack吗?

更具体地说,调度程序中的statusUpdate方法被多次调用,以便从执行程序更新完全相同的状态。

1 个答案:

答案 0 :(得分:3)

Mesos承诺按顺序至少一次向框架调度程序发送状态更新。这意味着从属服务器具有待处理状态更新队列,并将继续发送上次未确认状态更新,直到它收到来自框架调度程序的确认。这应该由SchedulerDriver自动完成,但是如果你有很多执行者的更新,那么在SchedulerDriver有机会发送特定的ACK之前,奴隶可能会重新发送状态更新。

您的调度程序应该准备好处理重复的状态更新,因为ACK总是有可能无法进入从属设备。如果主服务器在能够转发ACK之前进行故障转移,或者如果ACK消息刚刚以某种方式丢弃在地板上,则可能发生这种情况。