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