Ricerca nel sito web

Come installare Apache Spark su Ubuntu 20.04


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa Java
  4. Installa Scala
  5. Installa Apache Spark
  6. Avvia Spark Master Server
  7. Avvia processo Spark Worker
  8. Lavorare con Spark Shell
  9. Conclusione

Apache Spark è un framework open source e un sistema di elaborazione cluster generico. Spark fornisce API di alto livello in Java, Scala, Python e R che supportano i grafici di esecuzione generale. Viene fornito con moduli integrati utilizzati per streaming, SQL, apprendimento automatico ed elaborazione di grafici. È in grado di analizzare una grande quantità di dati e distribuirli attraverso il cluster ed elaborare i dati in parallelo.

In questo tutorial, spiegheremo come installare lo stack di calcolo del cluster Apache Spark su Ubuntu 20.04.

Prerequisiti

  • Un server che esegue il server Ubuntu 20.04.
  • Il server è configurato con una password di root.

Iniziare

Innanzitutto, dovrai aggiornare i tuoi pacchetti di sistema all'ultima versione. Puoi aggiornarli tutti con il seguente comando:

apt-get update -y

Una volta aggiornati tutti i pacchetti, puoi procedere al passaggio successivo.

Installa Java

Apache Spark è un'applicazione basata su Java. Quindi Java deve essere installato nel tuo sistema. Puoi installarlo con il seguente comando:

apt-get install default-jdk -y

Una volta installato Java, verificare la versione installata di Java con il seguente comando:

java --version

Dovresti vedere il seguente output:

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)

Installa Scala

Apache Spark è sviluppato utilizzando Scala. Quindi dovrai installare Scala nel tuo sistema. Puoi installarlo con il seguente comando:

apt-get install scala -y

Dopo aver installato Scala. Puoi verificare la versione di Scala usando il seguente comando:

scala -version

Dovresti vedere il seguente output:

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

Ora, connettiti all'interfaccia Scala con il seguente comando:

scala

Dovresti ottenere il seguente output:

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

Ora, prova Scala con il seguente comando:

scala> println("Hitesh Jethva")

Dovresti ottenere il seguente output:

Hitesh Jethva

Installa Apache Spark

Innanzitutto, dovrai scaricare l'ultima versione di Apache Spark dal suo sito Web ufficiale. Al momento della stesura di questo tutorial, l'ultima versione di Apache Spark è la 2.4.6. Puoi scaricarlo nella directory /opt con il seguente comando:

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

Una volta scaricato, estrai il file scaricato con il seguente comando:

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

Successivamente, rinomina la directory estratta in spark come mostrato di seguito:

mv spark-2.4.6-bin-hadoop2.7 spark

Successivamente, dovrai configurare l'ambiente Spark in modo da poter eseguire facilmente i comandi Spark. Puoi configurarlo modificando il file .bashrc:

nano ~/.bashrc

Aggiungere le seguenti righe alla fine del file:

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

Salvare e chiudere il file quindi attivare l'ambiente con il seguente comando:

source ~/.bashrc

Avvia Spark Master Server

A questo punto, Apache Spark è installato e configurato. Ora, avvia il server master Spark utilizzando il seguente comando:

start-master.sh

Dovresti vedere il seguente output:

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

Per impostazione predefinita, Spark è in ascolto sulla porta 8080. Puoi verificarlo utilizzando il seguente comando:

ss -tpln | grep 8080

Dovresti vedere il seguente output:

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

Ora apri il tuo browser web e accedi all'interfaccia web di Spark usando l'URL http://your-server-ip:8080. Dovresti vedere la seguente schermata:

Avvia il processo di lavoro Spark

Come puoi vedere, il servizio master Spark è in esecuzione su spark://your-server-ip:7077. Quindi puoi usare questo indirizzo per avviare il processo di lavoro Spark usando il seguente comando:

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

Dovresti vedere il seguente output:

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

Ora vai alla dashboard di Spark e aggiorna lo schermo. Dovresti vedere il processo di lavoro Spark nella schermata seguente:

Lavorare con Spark Shell

Puoi anche connettere il server Spark utilizzando la riga di comando. Puoi connetterlo usando il comando spark-shell come mostrato di seguito:

spark-shell

Una volta connesso, dovresti vedere il seguente output:

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://ubunt4: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> 

Se vuoi usare Python in Spark. È possibile utilizzare l'utilità della riga di comando pyspark.

Innanzitutto, installa la versione 2 di Python con il seguente comando:

apt-get install python -y

Una volta installato, puoi connettere Spark con il seguente comando:

pyspark

Una volta connesso, dovresti ottenere il seguente output:

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'.
>>> 

Se vuoi fermare il server Master e Slave. Puoi farlo con il seguente comando:

stop-slave.sh
stop-master.sh

Conclusione

Congratulazioni! hai installato correttamente Apache Spark sul server Ubuntu 20.04. Ora dovresti essere in grado di eseguire test di base prima di iniziare a configurare un cluster Spark. Non esitate a chiedermi se avete domande.