Ich entwickle eine Spark-Streaming-Anwendung, die Daten von Kafka grundsätzlich liest und speichert es regelmäßig in HDFS.Laufen Funken für immer auf Produktion
Ich betreibe pyspark auf YARN.
Meine Frage ist mehr für Produktionszwecke. Gerade jetzt, ich betreibe meine Anwendung wie folgt aus:
spark-submit stream.py
Stellen Sie sich vor Sie diesen Funken-Streaming-Anwendung liefern werden (in Python) an einen Client, was würden Sie tun, um es am Laufen zu halten für immer? Du würdest nicht einfach diese Datei geben und sagen "Führe das auf dem Terminal aus". Es ist zu unprofessionell.
Was ich tun möchte, ist, den Job an den Cluster (oder Prozessoren in lokalen) zu übermitteln und nie Protokolle auf der Konsole zu sehen, oder eine Lösung wie linux screen zu verwenden, um es im Hintergrund auszuführen (weil es scheint zu unprofessionell).
Was ist der professionellste und effizienteste Weg, um einen Cluster permanent mit Spark-Streaming zu versorgen?
Ich hoffe, ich war eindeutig. Vielen Dank!
ist Ihr Problem für immer laufen auch nach dem Schließen des Terminals? Hast du einen Blick auf Spark-Submit - Deploy-Modus "Cluster" – Knight71
@ Knight71, ja, ich habe. Aber das löst mein Problem nicht. Meine Frage ist, auf der Produktion, würden Sie ein Terminal ständig geöffnet haben, damit Sie den Funkenjob nicht töten? Ich bin mir sicher, LinkedIn oder ein anderes Unternehmen, das die Produktion von Spark-Streams nutzt, hat eine sehr gute Bereitstellungsart für die Produktionssite und ich war neugierig darauf. – HackCode
Sie können das Terminal nach der Bereitstellung im Clustermodus schließen. Das Streaming wird ohne Probleme ausgeführt. – Knight71