Howto: Multi-Node Spark Cluster im Standalone-Mode auf Debian 9

Hallo Zusammen,

die Reise des verteilten Rechnens geht weiter. Ich setze voraus, dass ihr bereits einen Funktionsfähigen Hadoop-Cluster habt. Wie man diesen Aufsetzt kann hier nachgelesen werden: Hadoop-Cluster mit Debian 9 aufsetzen

Ich setze bei der Namensgebung stark auf diese Anleitung auf. Es lohnt sich also immer, diese

Spark Herunterladen und Konfigurieren

Ich setze hier voraus, dass ihr die Key-File-Anmeldung mit SSH eingerichtet habt und die verschiedenen Rechner in der /etc/hosts benannt sind.

Alle folgenden Arbeiten werden zunächst auf dem Master „hadoop-master“ (192.168.123.90) durchgeführt (vgl. Hadoop-Cluster mit Debian 9 aufsetzen). Zunächst die aktuelle Version herunterladen und entpacken. Wählt dazu die Pre-build Version für Apache Hadoop in der entsprechenden Version.

cd /opt/
wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz
tar xvf spark-2.2.0-bin-hadoop2.7.tgz
mv spark-2.2.0-bin-hadoop2.7/ spark/
chown -R hadoop:hadoop spark/
  • /opt/spark/conf/slaves.template zu /opt/spark/conf/slaves kopieren, anpassen und festlegen, auf welchen Maschinen ein Spark Worker gestartet werden soll
# A Spark Worker will be started on each of the machines listed below.
#localhost
hadoop-master
hadoop-slave-1
hadoop-slave-2
hadoop-slave-3
hadoop-slave-4
hadoop-slave-5
hadoop-slave-6
  • /opt/spark/conf/sparks-env.sh.template zu /opt/spark/conf/spark-env.sh kopieren und am Ende Folgendes einfügen:
SPARK_MASTER_HOST=hadoop-master
  • /opt/spark/conf/sparks-defaults.conf.template zu /opt/spark/conf/spark-defaults.conf kopieren und wie folgt anpassen:
spark.master                     spark://hadoop-master:7077
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://hadoop-master:8021/spark-log

Spark auf Slaves Verteilen

Nun erstelle wir zunächst mit Hilfe von tmuxinator (vgl. ) auf den Slaves das Sparks-Verzeichnis.

sudo mkdir /opt/spark/
sudo chown -R hadoop:hadoop /opt/spark/

Jetzt verteilen wir auf dem master die files auf die slaves:

scp -r spark/* hadoop-slave-1:/opt/spark/.
scp -r spark/* hadoop-slave-2:/opt/spark/.
scp -r spark/* hadoop-slave-3:/opt/spark/.
scp -r spark/* hadoop-slave-4:/opt/spark/.
scp -r spark/* hadoop-slave-5:/opt/spark/.
scp -r spark/* hadoop-slave-6:/opt/spark/.

Spark Cluster Starten

Nun sollte alles installiert sein und wir können den Spark-Cluster starten:

# Starts both a master and a number of slaves.
./opt/spark/sbin/start-all.sh
# Stops both the master and the slaves.
./opt/spark/sbin/stop-all.sh

Ab jetzt kann man über http://192.168.123.90:8080/ (hier natürlich die eigene IP eingeben) das Webinterface aufrufen und sieht seine Worker.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.