2017-05-15 5 views
3

Ich habe einen Spark-Treiber an einen Mesos-Cluster (mit hochverfügbaren Mesos-Mastern) im Client-Modus gesendet (siehe this für client Deployment-Modus).Wie führe ich den Spark-Treiber im HA-Modus aus?

Ich möchte den Spark-Treiber auch im HA-Modus ausführen. Wie?

Ich kann meine eigene Implementierung dafür implementieren, aber jetzt für alles verfügbare suchen.

Antwort

1

tl; dr Verwendung cluster Bereitstellungsmodus mit --supervise, z. spark-submit --deploy-mode cluster --supervise

einen HA eines Spark-Fahrer in client Modus zu haben, ist nicht möglich, da described in the cited document:

Im Client-Modus ein Funke Mesos Rahmen direkt auf dem Client-Rechner gestartet wird, und wartet auf den Fahrer ausgegeben.

Sie würden zu haben irgendwie den Prozess auf dem Client-Rechner überwachen und seinen vielleicht Exit-Code überprüfen.

Eine viel sicherere Lösung ist es, Mesos seine Arbeit machen zu lassen. Sie sollten cluster deploy-Modus verwenden, in dem es Mesos ist, um sicherzustellen, dass der Treiber ausgeführt wird (und neu gestartet wird, wenn er abstürzt). Siehe Abschnitt Cluster mode:

Funken auf Mesos unterstützt auch Cluster-Modus, in dem der Fahrer im Cluster gestartet wird und der Kunde kann sich die Ergebnisse des Fahrers von der Mesos Web-Benutzeroberfläche finden.

+0

Hallo Jacek, können Sie mir bitte helfen, diese Zeile im Cluster-Modus zu verstehen - Beachten Sie, dass der MesosClusterDispatcher noch nicht mehrere Instanzen für HA unterstützt. –

+1

_ "MesosClusterDispatcher unterstützt noch nicht mehrere Instanzen für HA." _ Das brauche ich nicht. Ein Spark-Treiber ist der Orchestrator Ihrer Spark-Anwendung und hier wird Ihr Code zu Aufgaben. Wir nehmen also eine einzelne Instanz eines Spark-Treibers an, und nur wenn sie fehlschlägt, wird sie erneut übermittelt. Nur jeweils eine Instanz. –

Verwandte Themen