Fehler kann nicht verstanden werden "SparkListenerBus hat bereits gestoppt! Löschvorgang ... "

8

Das Problem

Ich würde gerne wissen, ob jemand eine magische Methode hat, um solche Nachrichten in Spark-Logs zu vermeiden:

%Vor%

Nach weiteren Untersuchungen verstehe ich, dass LiveListenerBus erweitert AsynchronousListenerBus . Und so wird irgendwann .stop() method aufgerufen. Dann werden Nachrichten, die gesendet / empfangen werden können, fallengelassen und bleiben unbearbeitet. Im Grunde werden einige SparkListenerExecutorMetricsUpdate -Nachrichten leider noch nicht empfangen, und sobald sie es sind, werden sie ins Nirgendwo fallen gelassen.

Das sieht nicht kritisch aus, da SparkListenerExecutorMetricsUpdate nur periodischen Aktualisierungen von Executors entspricht.

Was peinlich ist, ist, dass ich absolut nicht verstehe, warum das passiert, und nichts bezieht sich auf dieses Problem. Beachten Sie, dass dies absolut nicht deterministisch ist und ich dies nicht reproduzieren kann, wahrscheinlich aufgrund der asynchronen Natur und meines Unverständnisses darüber, wie / wann stop() aufgerufen werden soll.

Über den laufenden Code

Ein enges Beispiel:

%Vor%

Und es gibt keinen weiteren Verweis auf sc oder% SparkContent instance.

    
Adrien M. 01.09.2015, 20:48
quelle

1 Antwort

3

Dieses Ticket ist möglicherweise verwandt. Ссылка

Die Nachricht scheint einen Fadenzuordnungsfehler anzuzeigen, nachdem der Sparkcontext gestoppt wurde.

Entschuldigung für unklaren Kommentar.

Der Hauptgrund scheint zu sein, dass zwischen dem Shutdown-Ereignis von AM und den Executoren ein Intervall besteht, das alle stoppt.
Also versucht AM, nach dem Beenden der Executors neu zuzuordnen.

Wie Saisai unten sagte,

  

Interessant ist, dass AM zum Zeitpunkt 2015-11-26,03: 05: 16 heruntergefahren wird, aber YarnAllocator nach 13 Sekunden immer noch 13 Executoren anfordert. Sieht aus, als ob AM nicht so schnell beendet wird, deshalb fordert YarnAllocator immer noch neue Container an. Normalerweise, wenn AM so schnell beendet wird, wie es eine unterbrochene Nachricht empfängt, wird es keine Zeit geben, bis der Container nach YarnAllocator fragt.

Ich bin manchmal auf ähnliche Logs gestoßen, die in der Nähe von Funkenkontext enden.
In meinem Fall scheint dieses Ticket eine Antwort zu sein.

    
tabata 04.03.2016 03:23
quelle

Tags und Links