Instalando Spark en Ubuntu 20.04

En este artículo vamos a ver cómo instalar Apache Spark en Ubuntu 20.04 desde un terminal.

Antes de nada es necesario que sepas de que Spark es un marco en clúster de código abierto que se utiliza principalmente para procesar grandes volúmenes de datos y que incluye soporte para SQL, machine learning y procesamiento de gráficos.

Un punto interesante es que cualquier desarrollador puede utilizar el código de forma libre para implementar nuevas versiones que estén destinadas en resolver problemas que vayan sucediendo. Spark proporciona APIs en diferentes lenguajes de programación como Python, Java, Scala, R, etc.

Instalar Java JDK

Para desarrollar con Spark se requiere del JDK (Java Development Kit) asi que procederemos a instalar la última versión.

sudo apt update
sudo apt install default-jdk

Verificamos que la instalación se haya producido y obtenemos su versión.

java --version

Debería de mostrarte las siguientes líneas, serán similares en el caso de una nueva versión.

openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2, mixed mode, sharing)

Instalar Scala

Necesitaremos instalar Scala para ejecutar Spark, lo haremos de la siguiente forma.

sudo apt install scala

Comprobamos si lo tenemos en nuestro sistema y verificamos su versión.

scala -version

Si todo está bien nos devolverá lo siguiente.

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

Instalar Apache Spark

Una vez que hayamos realizado los pasos anteriores y no nos haya devuelto ningún error, procederemos a instalar Spark. Para empezar, nos descargamos la última versión, en mi caso, lo descargaré en el directorio /hadoop que cree anteriormente. Si quieres puedes utilizar la carpeta /tmp y luego moverlo a una que hayas creado.

cd home/hadoop
wget https://archive.apache.org/dist/spark/spark-3.1.1/spark-3.1.1-bin-hadoop3.2.tgz

Accedemos al directorio /hadoop para confirmar que hemos descargado el archivo comprimido con el siguiente comando.

ls

Extraemos su contenido y lo movemos a la carpeta /opt y renombramos la carpeta llamándola spark.

tar -xvzf spark-3.1.1-bin-hadoop3.2.tgz
sudo mv spark-3.1.1-bin-hadoop3.2 /opt/spark

Te recomiendo borrar el archivo comprimido después de haberlo descomprimido

sudo rm -r spark-3.1.1-bin-hadoop3.2.tgz

Ahora deberemos de crear las variables de entorno para que Spark pueda ser ejecutado.

nano ~/.bashrc

Ahora nos dirigiremos a la parte inferior del documento con cuidado, ya que podemos borrar una llave o introducir las siguientes líneas dentro de ella.

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

Por último, aplicamos los cambios del entorno.

source ~/.bashrc

Iniciando Apache Spark

Si has llegado hasta aquí y no has tenido ningún problema, debes de saber que Spark ya está instalado y listo para ser ejecutado. Para empezar iniciamos el Master server, si realizaste bien los siguientes pasos no necesitaras el path completo.

start-master.sh

Ahora iniciaremos el Spark Worker Process.

start-slave.sh

Dirígete al navegador e introduce el localhost:8080, también puedes reemplazar el nombre del host o la dirección de IP en el caso de que te hayas decantado por esta segunda opción.

http://localhost:8080

También puedes acceder a la monitorización y evaluar los DAG (Directed Acyclic Graph) desde la Web UI en el siguiente puerto, que es el predeterminado.

http://localhost:4040

Puedes conectarte a Spark a través de los comandos con Spark Shell (Scala) o PySpark (Python). En mi caso utilizo PySpark pero puedes hacerlo de cualquiera de las dos formas por las que te decantes.

spark-shell
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.1.1
      /_/
Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 1.8.0_292)
Type in expressions to have them evaluated.
Type :help for more information.

Para salir basta con.

sys.exit

Si te decantas por PySpark.

pyspark
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 3.1.1
      /_/
Using Python version 3.9.4 (default, Apr  4 2021 19:38:44)
Spark context Web UI available at http://172.16.200.3:4041
Spark context available as 'sc' (master = local[*], app id = local-1621421056899).
SparkSession available as 'spark'.

Para salir utiliza el siguiente comando.

exit()

Para ver el estado de los servicios de Spark podemos utilizar uno de los dos comandos.

jps
jps -lm

Por último para parar Apache Spark, haremos lo siguiente.

stop-slave.sh
stop-master.sh

Conclusión

Ya tienes Apache Spark instalado y configurado para comenzar a desarrollar sobre esta magnífica herramienta de Big Data. Si necesitas más información sobre Spark puedes acceder a su documentación.

¿Te ha parecido útil?