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.
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. –
_ "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. –