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:

Apache Spark Dashboard

Klicke auf die Worker-ID. Auf dem folgenden Bildschirm solltest du die detaillierten Informationen zu deinem Worker sehen:

Funkenmariechen

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

Das könnte dich auch interessieren …