2017-01-17 2 views
1

Ich versuche, mehrere Anwendungen auf Funken zu übermitteln.Mehrere Fehler von mehreren Jobs Fehler

Nachdem die erste Anwendung abgeschlossen wurde, weist Spark dem Treiber alle Worker-Knoten zu. Als Ergebnis sind keine Kerne für die Ausführung übrig.

Meine Umgebung: 2 Arbeiterknoten mit jeweils 1 Kern und 2 GB RAM, der Treiber läuft auf den Knoten.

Spark-Befehl einreichen: ./spark-submit --class Main --master spark://ip:6066 --deploy-mode cluster /jarPath

Also, wenn ich 3 Jobs übergeben, nach dem ersten Abschluss, zweite und dritte bekommt einen Kern jeder für ihre Fahrer und keine Kerne sind für die Ausführung links.

Bitte sagen Sie einen Weg, um dies zu beheben.

+0

In welchem ​​Modus laufen Sie? funken lokal/standalone/Garn-Client/Garn-Cluster? ** Bitte geben Sie den Spark-Submit-Befehl ein ** – Yaron

+0

Läuft Ihr Treiber auf einem dieser 2 Arbeiterknoten? – Yaron

+0

./spark-submit --class Haupt --master spark: // ip: 6066 --deploy-mode cluster/jarPath –

Antwort

0

Versuchen alte Instanzen von Funken Tötung:

http://spark.apache.org/docs/latest/spark-standalone.html#launching-spark-applications

./bin/spark-class org.apache.spark.deploy.Client kill <master url> <driver ID> 

Sie können die Treiber-ID durch den eigenständigen Master-Web-UI finden Sie unter http: //: 8080.

+0

Ich möchte diese auf diese Art und Weise nur ausführen, wie die Ausgabe von einer Eingabe in andere .So Treiber kann nicht für jede Anwendung getötet werden. –

+0

Wie liefern Sie Daten vom Treiber an einen anderen Funkenjob? verwendest du "collect()"? Es scheint keine gute Praxis der Funkenentwicklung zu sein. – Yaron

+0

Ich speichere Daten in HDFS. –

Verwandte Themen