1

私のスケジューラーは、エグゼキューターから端末ステータスの更新を重複して取得します。これは主に、スケジューラが多くのエグゼキュータから多くのステータス更新を取得しているときに発生することに気付きました。何が原因なのか調べてみましたが、何も見つかりませんでした。mesos マスターはスレーブに ack を送信することになっていますか?

より具体的には、スケジューラーの statusUpdate メソッドが、エグゼキューターからまったく同じステータス更新に対して複数回呼び出されます。

4

1 に答える 1

4

Mesos は、ステータスの更新をフレームワーク スケジューラに少なくとも 1 回、順番に送信することを約束します。つまり、スレーブには保留中のステータス更新のキューがあり、フレームワーク スケジューラから確認を受信するまで、未確認の最後のステータス更新を送信し続けます。これは SchedulerDriver によって自動的に行われる必要がありますが、多数のエグゼキューターから多数の更新がある場合、SchedulerDriver がその特定の ACK を送信する前に、スレーブがステータス更新を再送信した可能性があります。

ACK がスレーブに届かない可能性は常にあるため、スケジューラは重複したステータス更新を処理できるように準備しておく必要があります。これは、マスターが ACK を転送する前にフェールオーバーした場合、または ACK メッセージが何らかの形でフロアにドロップされた場合に発生する可能性があります。

于 2014-11-19T00:58:02.187 に答える