Come installare Apache Spark su Ubuntu 20.04
Su questa pagina
- Prerequisiti
- Per iniziare
- Installa Java
- Installa Scala
- Installa Apache Spark
- Avvia Spark Master Server
- Avvia processo Spark Worker
- Lavorare con Spark Shell
- 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.