Cómo instalar el marco informático de cluster Apache Spark en Debian 10

Apache Spark es un marco de computación en clúster gratuito y de código abierto que se utiliza para el análisis, el aprendizaje automático y el procesamiento de gráficos en grandes volúmenes de datos. Spark viene con más de 80 operadores de alto nivel que te permiten construir aplicaciones paralelas y utilizarlo de forma interactiva desde los shells Scala, Python, R y SQL. Es un motor de procesamiento de datos en memoria, rápido como un rayo, especialmente diseñado para la ciencia de los datos. Proporciona un rico conjunto de características, como velocidad, tolerancia a fallos, procesamiento de flujos en tiempo real, computación en memoria, análisis avanzado y muchas más.

En este tutorial, te mostraremos cómo instalar Apache Spark en un servidor Debian 10.

Requisitos previos

  • Un servidor que ejecute Debian 10 con 2 GB de RAM.
  • Una contraseña de root configurada en tu servidor.

Cómo empezar

Antes de empezar, se recomienda actualizar tu servidor con la última versión. Puedes actualizarlo mediante el siguiente comando:

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

Una vez actualizado tu servidor, reinícialo para aplicar los cambios.

Instalar Java

Apache Spark está escrito en el lenguaje Java. Por tanto, necesitarás instalar Java en tu sistema. Por defecto, la última versión de Java está disponible en el repositorio por defecto de Debian 10. Puedes instalarla con el siguiente comando:

apt-get install default-jdk -y

Después de instalar Java, verifica la versión instalada de Java utilizando el siguiente comando:

java --version

Deberías obtener la siguiente salida:

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)

Descargar Apache Spark

En primer lugar, tendrás que descargar la última versión de Apache Spark desde su sitio web oficial. En el momento de escribir este artículo, la última versión de Apache Spark es la 3.0. Puedes descargarla en el directorio /opt con el siguiente comando:

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

Una vez completada la descarga, extrae el archivo descargado con el siguiente comando:

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

A continuación, cambia el nombre del directorio extraído por el de spark, como se muestra a continuación:

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

A continuación, tendrás que configurar el entorno para Spark. Puedes hacerlo editando el archivo ~/.bashrc:

nano ~/.bashrc

Añade las siguientes líneas al final del archivo:

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

Guarda y cierra el archivo cuando hayas terminado. A continuación, activa el entorno con el siguiente comando:

source ~/.bashrc

Iniciar el servidor maestro

Ahora puedes iniciar el servidor maestro con el siguiente comando:

start-master.sh

Deberías obtener la siguiente salida:

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

Por defecto, Apache Spark está escuchando en el puerto 8080. Puedes verificarlo con el siguiente comando:

netstat -ant | grep 8080

Salida:

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

Ahora, abre tu navegador web y escribe la URL http://server-ip-address:8080. Deberías ver la siguiente página:

Apache Spark

Anota la URL de Spark«spark://debian10:7077» de la imagen anterior. Esto se utilizará para iniciar el proceso de trabajo de Spark.

Iniciar el proceso Spark Worker

Ahora, puedes iniciar el proceso Spark worker con el siguiente comando:

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

Deberías obtener la siguiente salida:

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

Accede a Spark Shell

Spark Shell es un entorno interactivo que proporciona una forma sencilla de aprender la API y analizar los datos de forma interactiva. Puedes acceder a la Spark Shell con el siguiente comando:

spark-shell

Deberías ver la siguiente salida:

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> 

Desde aquí, puedes aprender a sacar el máximo partido a Apache Spark de forma rápida y cómoda.

Si quieres detener el servidor Spark Master y Slave, ejecuta los siguientes comandos:

stop-slave.sh
stop-master.sh

Eso es todo por ahora, has instalado con éxito Apache Spark en el servidor Debian 10. Para más información, puedes consultar la documentación oficial de Spark en Spark Doc.

También te podría gustar...