Erzeugt, dass Docker keine Jobs akzeptiert

8

Ich versuche, ein Hallo Welt Beispiel arbeiten mit Funken + Andockfenster, und hier ist mein Code.

%Vor%

Wenn ich sbt run starte, bekomme ich

%Vor%

Ich habe sowohl die Cluster-Benutzeroberfläche überprüft, in der ich drei Knoten mit jeweils 1,5 g Speicher habe, als auch die Benutzeroberfläche von nomenode, wo ich das gleiche sehe.

Die Docker-Protokolle zeigen keine Ausgabe von den Workern und die folgenden vom Master

%Vor%

]

Das passiert ein paar Mal, und dann bricht das Programm ab und stirbt mit

%Vor%

Wenn ich einen tcpdump über die docker0 -Schnittstelle gemacht habe und es so aussieht, als würden die Worker und die Master-Knoten sprechen.

Die Funkenkonsole funktioniert jedoch.

Wenn ich sc als val sc = new SparkContext("local", "Generic", System.getenv("SPARK_HOME")) einstelle, läuft das Programm

    
Peter Klipfel 28.05.2014, 21:28
quelle

3 Antworten

5

Ich war dort. Das Problem sieht so aus, als ob das AKKA Actor-Subsystem in Spark eine andere Schnittstelle als Spark auf docker0 bindet.

Während Ihre Master-IP aktiviert ist: spark://172.17.0.3:7077

Akka ist verbindlich für: akka.tcp://[email protected]:48085

Wenn Sie Master / Slaves Andock-Container sind, sollten sie über die Schnittstelle docker0 im Bereich 172.17.x.x kommunizieren.

Versuchen Sie, den Master und die Slaves mit der korrekten lokalen IP-Adresse zu versorgen, indem Sie die env config SPARK_LOCAL_IP verwenden. Einzelheiten finden Sie in den Konfigurationsdokumenten .

In unserem Docker-Setup für Spark 0.9 verwenden wir diesen Befehl, um die Slaves zu starten:

%Vor%

Dies stellt dem Arbeiter direkt die lokale IP zur Verfügung.

    
maasg 29.05.2014, 10:17
quelle
0

Für das Ausführen von Funken auf Docker ist es wichtig,

  1. Alle erforderlichen Ports anzeigen
  2. Stellen Sie die korrekte spark.broadcast.factory
  3. ein
  4. Behandle Andock-Aliase

Ohne alle 3 Probleme zu behandeln, können Funken-Cluster-Teile (Master, Worker, Treiber) nicht kommunizieren. Sie können bei jedem Problem auf Ссылка genau nachlesen oder den Container verwenden Funken von Ссылка

    
epahomov 03.04.2015 12:52
quelle
0

Sie müssen die Firewall überprüfen, wenn Sie sich auf einem Windows-Host befinden, und sicherstellen, dass java.exe auf das öffentliche Netzwerk zugreifen darf oder dockerNAT in private ändern darf. Im Allgemeinen muss sich der Worker mit dem Treiber (dem von Ihnen übergebenen Programm) verbinden können.

    
softwarevamp 25.06.2017 09:19
quelle

Tags und Links