installeer je Apache Spark Cluster Computing Framework op Debian 10

Apache Spark is een gratis en open-source cluster-computing raamwerk dat gebruikt wordt voor analytics, machinaal leren en grafiekverwerking op grote hoeveelheden gegevens. Spark wordt geleverd met 80+ high-level operatoren waarmee je parallelle apps kunt bouwen en die je interactief kunt gebruiken vanuit de Scala, Python, R, en SQL shells. Het is een bliksemsnelle, in-memory data processing engine, speciaal ontworpen voor data science. Het biedt een rijke reeks functies, waaronder, Snelheid, Fouttolerantie, Real-time stroomverwerking, In-memory computing, Geavanceerde analyses en nog veel meer.

In deze handleiding laten we je zien hoe je Apache Spark op Debian 10 server kunt installeren.

Vereisten

  • Een server met Debian 10 met 2 GB RAM.
  • Een root wachtwoord is op je server ingesteld.

Aan de slag

Alvorens te beginnen is het aan te raden je server met de nieuwste versie te updaten. Je kunt hem bijwerken met het volgende commando:

apt-get update -y
apt-get upgrade -y

Zodra je server bijgewerkt is, herstart je hem om de veranderingen door te voeren.

Installeer Java

Apache Spark is geschreven in de Java taal. Je zult dus Java in je systeem moeten installeren. Standaard is de nieuwste versie van Java beschikbaar in de standaard repository van Debian 10. Je kunt het installeren met het volgende commando:

apt-get install default-jdk -y

Controleer na de installatie van Java de geïnstalleerde versie van Java met het volgende commando:

java --version

Je zou de volgende uitvoer moeten krijgen:

openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Debian-1deb10u1, mixed mode, sharing)

Download Apache Spark

Eerst moet je de nieuwste versie van Apache Spark downloaden van zijn officiële website. Op het moment van schrijven van dit artikel is de nieuwste versie van Apache Spark 3.0. Je kunt het downloaden naar de /opt directory met het volgende commando:

cd /opt
wget http://apachemirror.wuchna.com/spark/spark-3.0.0-preview2/spark-3.0.0-preview2-bin-hadoop2.7.tgz

Als de download voltooid is, pak je het gedownloade bestand uit met het volgende commando:

tar -xvzf spark-3.0.0-preview2-bin-hadoop2.7.tgz

Hernoem vervolgens de uitgepakte directory tot spark zoals hieronder:

mv spark-3.0.0-preview2-bin-hadoop2.7 spark

Vervolgens moet je de omgeving voor Spark instellen. Je kunt dat doen door het ~/.bashrc bestand te bewerken:

nano ~/.bashrc

Voeg de volgende regels toe aan het eind van het bestand:

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

Sla het bestand op en sluit het als je klaar bent. Activeer dan de omgeving met het volgende commando:

source ~/.bashrc

Start de hoofdserver

Je kunt nu de Master server starten met het volgende commando:

start-master.sh

Je zou de volgende uitvoer moeten krijgen:

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

Standaard luistert Apache Spark op de poort 8080. Je kunt dit verifiëren met het volgende commando:

netstat -ant | grep 8080

Uitvoer:

tcp6       0      0 :::8080                 :::*                    LISTEN

Open nu je webbrowser en typ de URL http://server-ip-address:8080. Je zou de volgende pagina moeten zien:

Apache Spark

Noteer de Spark URL“spark://debian10:7077” uit de bovenstaande afbeelding. Dit zal gebruikt worden om het Spark worker proces te starten.

Start het Spark werker proces

Nu kun je het Spark werker proces starten met het volgende commando:

start-slave.sh spark://debian10:7077

Je zou de volgende uitvoer moeten krijgen:

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

Toegang tot Spark Shell

Spark Shell is een interactieve omgeving die een eenvoudige manier biedt om de API te leren kennen en gegevens interactief te analyseren. Je kunt de Spark shell benaderen met het volgende commando:

spark-shell

Je zou de volgende uitvoer moeten zien:

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.12-3.0.0-preview2.jar) to constructor java.nio.DirectByteBuffer(long,int)
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
19/12/29 15:53:11 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://debian10:4040
Spark context available as 'sc' (master = local[*], app id = local-1577634806690).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.0.0-preview2
      /_/
         
Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 11.0.5)
Type in expressions to have them evaluated.
Type :help for more information.

scala> 

Van hieruit kun je leren hoe je snel en handig het meeste uit Apache Spark kunt halen.

Als je de Spark Master en Slave server wilt stoppen, voer je de volgende commando’s uit:

stop-slave.sh
stop-master.sh

Dat was het voor nu, je hebt met succes Apache Spark op Debian 10 server geïnstalleerd. Voor meer informatie kun je de officiële Spark documentatie raadplegen op Spark Doc.