Cómo instalar Apache Spark en Ubuntu 20.04

Interfaz de usuario web de Apache Spark

[*]Apache Spark es un marco de c√≥digo abierto y un sistema inform√°tico de cl√ļster de uso general. Spark proporciona API de alto nivel en Java, Scala, Python y R que admiten gr√°ficos de ejecuci√≥n general. Viene con m√≥dulos incorporados que se utilizan para transmisi√≥n, SQL, aprendizaje autom√°tico y procesamiento de gr√°ficos. Es capaz de analizar una gran cantidad de datos y distribuirlos en el cl√ļster y procesar los datos en paralelo.

En este tutorial, explicaremos c√≥mo instalar la pila inform√°tica de cl√ļster Apache Spark en Ubuntu 20.04.

requisitos previos

  • Un servidor que ejecuta el servidor Ubuntu 20.04.
  • Se configura una contrase√Īa de root en el servidor.

Empezando

Primero, deber√° actualizar los paquetes de su sistema a la √ļltima versi√≥n. Puede actualizarlos todos con el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.

Instalar Java

Apache Spark es una aplicación basada en Java. Entonces Java debe estar instalado en su sistema. Puedes instalarlo con el siguiente comando:

apt-get install default-jdk -y

Una vez que Java esté instalado, verifique la versión instalada de Java con el siguiente comando:

java --version

Debería ver el siguiente resultado:

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)

Instalar Scala

Apache Spark se desarrolla utilizando Scala. Por lo tanto, deber√° instalar Scala en su sistema. Puedes instalarlo con el siguiente comando:

apt-get install scala -y

Después de instalar Scala. Puede verificar la versión de Scala usando el siguiente comando:

scala -version

Debería ver el siguiente resultado:

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

Ahora, conéctese a la interfaz de Scala con el siguiente comando:

scala

Deberías obtener el siguiente resultado:

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

Ahora, prueba el Scala con el siguiente comando:

scala> println("Hitesh Jethva")

Deberías obtener el siguiente resultado:

Hitesh Jethva

Instalar Apache Spark

Primero, deber√° descargar la √ļltima versi√≥n de Apache Spark desde su sitio oficial. sitio web. Al momento de escribir este tutorial, la √ļltima versi√≥n de Apache Spark es la 2.4.6. Puede descargarlo en el directorio /opt con el siguiente comando:

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

Una vez descargado, extraiga el archivo descargado con el siguiente comando:

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

A continuación, cambie el nombre del directorio extraído a chispa como se muestra a continuación:

mv spark-2.4.6-bin-hadoop2.7 spark

A continuación, deberá configurar el entorno de Spark para que pueda ejecutar fácilmente los comandos de Spark. Puede configurarlo editando el archivo .bashrc:

nano ~/.bashrc

Agregue las siguientes líneas al final del archivo:

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

Guarde y cierre el archivo y luego active el entorno con el siguiente comando:

source ~/.bashrc

Inicie el servidor maestro de Spark

En este punto, Apache Spark est√° instalado y configurado. Ahora, inicie el servidor maestro de Spark con el siguiente comando:

start-master.sh

Debería ver el siguiente resultado:

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

De manera predeterminada, Spark est√° escuchando en el puerto 8080. Puede verificarlo con el siguiente comando:

ss -tpln | grep 8080

Debería ver el siguiente resultado:

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

Ahora, abra su navegador web y acceda a la interfaz web de Spark usando la URL http://your-server-ip:8080. Debería ver la siguiente pantalla: Anuncio

Interfaz de usuario web de Apache Spark

Iniciar el proceso de trabajo de Spark

Como puede ver, el servicio maestro de Spark se ejecuta en spark://your-server-ip:7077. Entonces puede usar esta dirección para iniciar el proceso de trabajo de Spark usando el siguiente comando:

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

Debería ver el siguiente resultado:

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

Ahora, vaya al tablero de Spark y actualice la pantalla. Debería ver el proceso de trabajo de Spark en la siguiente pantalla:

Trabajador Apache Spark

Trabajando con Spark Shell

También puede conectar el servidor Spark usando la línea de comandos. Puede conectarlo usando el comando spark-shell como se muestra a continuación:

spark-shell

Una vez conectado, debería ver el siguiente resultado:

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> 

Si desea utilizar Python en Spark. Puede usar la utilidad de línea de comandos pyspark.

Primero, instale la versión 2 de Python con el siguiente comando:

apt-get install python -y

Una vez instalado, puedes conectar el Spark con el siguiente comando:

pyspark

Una vez conectado, debería obtener el siguiente resultado:

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

Si desea detener el servidor Maestro y Esclavo. Puedes hacerlo con el siguiente comando:

stop-slave.sh
stop-master.sh

Conclusión

¬°Felicidades! Ha instalado con √©xito Apache Spark en el servidor Ubuntu 20.04. Ahora deber√≠a poder realizar pruebas b√°sicas antes de comenzar a configurar un cl√ļster de Spark. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *