Wie man Apache Spark unter Debian 11 installiert
Apache Spark ist ein kostenloses, quelloffenes, universelles und verteiltes Berechnungsframework, das schnellere Berechnungsergebnisse liefern soll. Es unterstützt mehrere APIs für Streaming und Graphenverarbeitung, darunter Java, Python, Scala und R. Apache Spark kann in der Regel in Hadoop-Clustern eingesetzt werden, aber du kannst es auch als eigenständige Anwendung installieren.
In diesem Tutorial zeigen wir dir, wie du das Apache Spark Framework unter Debian 11 installierst.
Voraussetzungen
- Ein Server, auf dem Debian 11 läuft.
- Ein Root-Passwort ist auf dem Server eingerichtet.
Java installieren
Apache Spark ist in Java geschrieben. Daher muss Java auf deinem System installiert sein. Wenn es nicht installiert ist, kannst du es mit dem folgenden Befehl installieren:
apt-get install default-jdk curl -y
Sobald Java installiert ist, überprüfe die Java-Version mit dem folgenden Befehl:
java --version
Du solltest die folgende Ausgabe erhalten:
openjdk 11.0.12 2021-07-20 OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2) OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)
Apache Spark installieren
Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste Version von Apache Spark 3.1.2. Du kannst sie mit dem folgenden Befehl herunterladen:
wget https://dlcdn.apache.org/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz
Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei mit dem folgenden Befehl:
tar -xvzf spark-3.1.2-bin-hadoop3.2.tgz
Als Nächstes verschiebst du das entpackte Verzeichnis mit folgendem Befehl in das Verzeichnis /opt:
mv spark-3.1.2-bin-hadoop3.2/ /opt/spark
Als Nächstes bearbeitest du die Datei ~/.bashrc und fügst die Pfadvariable Spark hinzu:
nano ~/.bashrc
Füge die folgenden Zeilen hinzu:
export SPARK_HOME=/opt/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
Speichere und schließe die Datei und aktiviere dann die Spark-Umgebungsvariable mit dem folgenden Befehl:
source ~/.bashrc
Starte Apache Spark
Jetzt kannst du den folgenden Befehl ausführen, um den Spark-Masterdienst zu starten:
start-master.sh
Du solltest die folgende Ausgabe erhalten:
starting org.apache.spark.deploy.master.Master, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-debian11.out
Standardmäßig lauscht Apache Spark auf Port 8080. Du kannst dies mit dem folgenden Befehl überprüfen:
ss -tunelp | grep 8080
Du erhältst die folgende Ausgabe:
tcp LISTEN 0 1 *:8080 *:* users:(("java",pid=24356,fd=296)) ino:47523 sk:b cgroup:/user.slice/user-0.slice/session-1.scope v6only:0 <->
Starte als Nächstes den Apache Spark Worker-Prozess mit dem folgenden Befehl:
start-slave.sh spark://your-server-ip:7077
Zugriff auf die Apache Spark Web UI
Du kannst nun auf die Apache Spark-Web-Oberfläche zugreifen, indem du die URL http://your-server-ip:8080 verwendest. Auf dem folgenden Bildschirm solltest du den Apache Spark Master- und Slave-Dienst sehen:
Klicke auf die Worker-ID. Auf dem folgenden Bildschirm solltest du die detaillierten Informationen zu deinem Worker sehen:
Apache Spark über die Kommandozeile verbinden
Wenn du dich mit Spark über die Kommandozeile verbinden willst, führe die folgenden Befehle aus:
spark-shell
Sobald du verbunden bist, siehst du die folgende Oberfläche:
Spark session available as 'spark'. Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 3.1.2 /_/ Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 11.0.12) Type in expressions to have them evaluated. Type :help for more information. scala>
Wenn du Python in Spark verwenden möchtest. Du kannst das pyspark Kommandozeilenprogramm verwenden.
Installiere zunächst die Python-Version 2 mit dem folgenden Befehl:
apt-get install python -y
Nach der Installation kannst du Spark mit dem folgenden Befehl verbinden:
pyspark
Sobald die Verbindung hergestellt ist, solltest du die folgende Ausgabe erhalten:
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /__ / .__/\_,_/_/ /_/\_\ version 3.1.2 /_/ Using Python version 3.9.2 (default, Feb 28 2021 17:03:44) Spark context Web UI available at http://debian11:4040 Spark context available as 'sc' (master = local[*], app id = local-1633769632964). SparkSession available as 'spark'. >>>
Master und Slave stoppen
Halte zunächst den Slave-Prozess mit dem folgenden Befehl an:
stop-slave.sh
Du erhältst die folgende Ausgabe:
stopping org.apache.spark.deploy.worker.Worker
Als Nächstes stoppst du den Master-Prozess mit dem folgenden Befehl:
stop-master.sh
Du erhältst die folgende Ausgabe:
stopping org.apache.spark.deploy.master.Master
Schlussfolgerung
Glückwunsch! Du hast Apache Spark erfolgreich auf Debian 11 installiert. Jetzt kannst du Apache Spark in deinem Unternehmen einsetzen, um große Datensätze zu verarbeiten