Wie man Apache Spark unter Ubuntu 20.04 installiert

Apache Spark ist ein Open-Source-Framework und ein universell einsetzbares Cluster-Computersystem. Spark bietet High-Level-APIs in Java, Scala, Python und R, die allgemeine Ausführungsgraphen unterstützen. Es wird mit integrierten Modulen für Streaming, SQL, maschinelles Lernen und Diagrammverarbeitung geliefert. Es ist in der Lage, eine große Datenmenge zu analysieren und diese über den Cluster zu verteilen und die Daten parallel zu verarbeiten.

In diesem Tutorial wird erklärt, wie der Cluster-Computing-Stack Apache Spark unter Ubuntu 20.04 installiert wird.

Voraussetzungen

  • Ein Server, auf dem ein Ubuntu 20.04-Server läuft.
  • Der Server ist mit einem Root-Passwort konfiguriert.

Erste Schritte

Zuerst müssen Sie Ihre Systempakete auf die neueste Version aktualisieren. Sie können sie alle mit dem folgenden Befehl aktualisieren:

apt-get update -y

Sobald alle Pakete aktualisiert sind, können Sie mit dem nächsten Schritt fortfahren.

Java installieren

Apache Spark ist eine Java-basierte Anwendung. Daher muss Java in Ihrem System installiert sein. Sie können es mit dem folgenden Befehl installieren:

apt-get install default-jdk -y

Sobald Java installiert ist, überprüfen Sie die installierte Version von Java mit dem folgenden Befehl:

java --version

Sie sollten die folgende Ausgabe sehen:

openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Scala installieren

Apache Spark wird unter Verwendung der Scala entwickelt. Sie müssen also Scala in Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:

apt-get install scala -y

Nach der Installation von Scala. Sie können die Scala-Version mit folgendem Befehl verifizieren: Nach der Installation von Scala:

scala -version

Sie sollten die folgende Ausgabe sehen:

Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL

Nun verbinden Sie sich mit der Scala-Schnittstelle mit folgendem Befehl:

scala

Sie sollten die folgende Ausgabe sehen: Sie sollten die folgende Ausgabe sehen:

Welcome to Scala 2.11.12 (OpenJDK 64-Bit Server VM, Java 11.0.8).
Type in expressions for evaluation. Or try :help.

Testen Sie nun Scala mit folgendem Befehl: Testen Sie Scala mit folgendem Befehl:

scala> println("Hitesh Jethva")

Sie sollten die folgende Ausgabe erhalten: Sie sollten die folgende Ausgabe erhalten:

Hitesh Jethva

Apache Spark installieren

Zunächst müssen Sie die neueste Version von Apache Spark von der offiziellen Website herunterladen. Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste Version von Apache Spark 2.4.6. Sie können sie mit dem folgenden Befehl in das Verzeichnis /opt herunterladen:

cd /opt
wget https://archive.apache.org/dist/spark/spark-2.4.6/spark-2.4.6-bin-hadoop2.7.tgz

Entpacken Sie die heruntergeladene Datei nach dem Herunterladen mit dem folgenden Befehl:

tar -xvzf spark-2.4.6-bin-hadoop2.7.tgz

Benennen Sie dann das extrahierte Verzeichnis in Spark um, wie unten gezeigt:

mv spark-2.4.6-bin-hadoop2.7 spark

Als nächstes müssen Sie die Spark-Umgebung so konfigurieren, dass Sie Spark-Befehle problemlos ausführen können. Sie können sie durch Bearbeiten der .bashrc-Datei konfigurieren:

nano ~/.bashrc

Fügen Sie die folgenden Zeilen am Ende der Datei hinzu:

export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

Speichern und schließen Sie die Datei und aktivieren Sie dann die Umgebung mit dem folgenden Befehl:

source ~/.bashrc

Starten Sie Spark Master Server

An diesem Punkt wird Apache Spark installiert und konfiguriert. Starten Sie nun den Spark-Masterserver mit dem folgenden Befehl:

start-master.sh

Sie sollten die folgende Ausgabe sehen:

starting org.apache.spark.deploy.master.Master, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu2004.out

Standardmäßig lauscht Spark auf Port 8080. Sie können dies mit dem folgenden Befehl überprüfen:

ss -tpln | grep 8080

Sie sollten die folgende Ausgabe sehen:

LISTEN   0        1                               *:8080                *:*      users:(("java",pid=4930,fd=249))   

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip:8080 auf die Webschnittstelle von Spark zu. Sie sollten den folgenden Bildschirm sehen:

Apache Spark Web UI

Spark-Worker-Prozess starten

Wie Sie sehen können, läuft der Master-Dienst von Spark unter spark://your-server-ip:7077. Sie können also diese Adresse verwenden, um den Spark-Worker-Prozess mit dem folgenden Befehl zu starten:

start-slave.sh spark://your-server-ip:7077

Sie sollten die folgende Ausgabe sehen:

starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-ubuntu2004.out

Gehen Sie nun zum Spark-Dashboard und aktualisieren Sie den Bildschirm. Sie sollten den Spark-Worker-Prozess auf dem folgenden Bildschirm sehen:

Apache Spark-Arbeiter

Arbeiten mit Spark Shell

Sie können den Spark-Server auch über die Befehlszeile verbinden. Sie können ihn mit dem Befehl spark-shell wie unten dargestellt verbinden:

spark-shell

Sobald die Verbindung hergestellt ist, sollten Sie die folgende Ausgabe sehen:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/opt/spark/jars/spark-unsafe_2.11-2.4.6.jar) to method java.nio.Bits.unaligned()
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20/08/29 14:35:07 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://ubuntu2004:4040
Spark context available as 'sc' (master = local[*], app id = local-1598711719335).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.4.6
      /_/
         
Using Scala version 2.11.12 (OpenJDK 64-Bit Server VM, Java 11.0.8)
Type in expressions to have them evaluated.
Type :help for more information.

scala> 

Wenn Sie Python in Spark verwenden möchten. Sie können das Befehlszeilen-Dienstprogramm pyspark verwenden.

Installieren Sie zunächst die Python-Version 2 mit dem folgenden Befehl:

apt-get install python -y

Nach der Installation können Sie Spark mit dem folgenden Befehl verbinden:

pyspark

Sobald die Verbindung hergestellt ist, sollten Sie die folgende Ausgabe erhalten:

Python 2.7.18rc1 (default, Apr  7 2020, 12:05:55) 
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/opt/spark/jars/spark-unsafe_2.11-2.4.6.jar) to method java.nio.Bits.unaligned()
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20/08/29 14:36:40 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.4.6
      /_/

Using Python version 2.7.18rc1 (default, Apr  7 2020 12:05:55)
SparkSession available as 'spark'.
>>> 

Wenn Sie den Master- und Slave-Server stoppen wollen. Sie können dies mit dem folgenden Befehl tun:

stop-slave.sh
stop-master.sh

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben Apache Spark erfolgreich auf dem Ubuntu 20.04 Server installiert. Nun sollten Sie in der Lage sein, grundlegende Tests durchzuführen, bevor Sie mit der Konfiguration eines Spark-Clusters beginnen. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …