2015-02-08 2 views
8

Ich verwende Spark Standalone Mode Tutorial-Seite, um Spark im Standalone-Modus zu installieren.Wie verbinde ich Master und Slaves in Apache-Spark? (Standalone-Modus)

./sbin/start-master.sh 

2- Ich habe begonnen, einen Arbeiter durch:

./bin/spark-class org.apache.spark.deploy.worker.Worker spark://ubuntu:7077 

Hinweis:

1- Ich habe einen Master Gestartet spark://ubuntu:7077 ist mein Master-Name, den ich es sehen kann Master-WebUI.

Problem: Mit dem zweiten Befehl wurde ein Worker erfolgreich gestartet. Aber es konnte nicht mit dem Meister verbinden. Es versucht wiederholt und dann diese Nachricht:

15/02/08 11:30:04 WARN Remoting: Tried to associate with unreachable remote address [akka.tcp://[email protected]:7077]. Address is now gated for 5000 ms, all messages to this address will be delivered to dead letters. Reason: Connection refused: ubuntu/127.0.1.1:7077 
15/02/08 11:30:04 INFO RemoteActorRefProvider$RemoteDeadLetterActorRef: Message [org.apache.spark.deploy.DeployMessages$RegisterWorker] from Actor[akka://sparkWorker/user/Worker#-1296628173] to Actor[akka://sparkWorker/deadLetters] was not delivered. [20] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. 
15/02/08 11:31:15 ERROR Worker: All masters are unresponsive! Giving up. 

Was ist das Problem?

Dank

+1

Was ist Ihre spark-env.sh Konfiguration? Hast du Sklaven IPs zur Sklavenakte hinzugefügt? – gasparms

+0

Nachdem ich den worker gestartet habe, habe ich seine IP in der Slave-Datei im Master System hinzugefügt. aber ich weiß nicht über spark-env.sh! In der Tutorial-Seite war nichts darüber. –

+0

In der spark-env.sh kann ich einige Variablen wie SPARK_MASTER_IP sehen. Ich muss es mit "ubuntu IP" einstellen, dass mein Master darauf installiert ist? –

Antwort

12

ich in der Regel von spark-env.sh Vorlage beginnen. Und ich setze Eigenschaften, die ich brauche. Für einfache Cluster benötigen Sie:

  • SPARK_MASTER_IP

Dann erstellen Sie eine Datei namens „Sklaven“ im gleichen Verzeichnis wie spark-env.sh und Sklaven des IP (eine pro Zeile). Stelle sicher, dass du alle Sklaven durch ssh erreichst.

Schließlich, kopieren Sie diese Konfiguration in jeder Maschine Ihres Clusters. Starten Sie dann den gesamten Cluster, indem Sie das Skript "start-all.sh" ausführen und versuchen Sie Spark-Shell, um Ihre Konfiguration zu überprüfen.

> sbin/start-all.sh 
> bin/spark-shell 
+0

Danke für die Antwort. Ich habe SPARK_MASTER_IP = 192.168.84.128 in meiner Datei spark-env.sh und 192.168.84.129 in meiner Slave-Datei. Ich kopiere diese zwei Dateien in den Ordner conf des Masters und des Masters. aber wenn ich ./start-all.sh in meinem Master-System ausführe, erhalte ich diesen Fehler: beginnend org.apache.spark.deploy.master.Master, Protokollierung zu /home/omid/Programs/spark-1.2.0 /sbin/../logs/spark-omid-org.apache.spark.deploy.master.Master-1-ubuntu.out 192.168.84.129: ssh: Verbindung zum Host 192.168.84.129 Port 22: Verbindung verweigert –

+0

Ich kann ping 192.168.84.129 vom Master-System. Reicht das nicht aus? Was ist mit SSH-Verbindung? –

+0

Nein, Maschinen müssen in der Lage sein, sich über ssh ohne Schlüssel zu verbinden. Installieren Sie open-ssh, generieren Sie ssh-Schlüssel (privat und öffentlich) und fügen Sie sie allen authorized_keys hinzu. – gasparms

1

können Sie setzen export SPARK_LOCAL_IP="You-IP" #to set the IP address Spark binds to on this node in $SPARK_HOME/conf/spark-env.sh

Verwandte Themen