Cómo instalar Apache Spark en Debian 11
Apache Spark es un marco computacional gratuito, de código abierto, de propósito general y distribuido, creado para proporcionar resultados computacionales más rápidos. Es compatible con varias APIs para el procesamiento de gráficos y streaming, incluyendo Java, Python, Scala y R. Generalmente, Apache Spark puede utilizarse en clusters Hadoop, pero también puedes instalarlo en modo independiente.
En este tutorial, te mostraremos cómo instalar el framework Apache Spark en Debian 11.
Requisitos previos
- Un servidor que ejecute Debian 11.
- Una contraseña de root configurada en el servidor.
Instalar Java
Apache Spark está escrito en Java. Así que Java debe estar instalado en tu sistema. Si no está instalado, puedes instalarlo utilizando el siguiente comando:
apt-get install default-jdk curl -y
Una vez instalado Java, verifica la versión de Java utilizando el siguiente comando:
java --version
Deberías obtener la siguiente salida:
openjdk 11.0.12 2021-07-20 OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2) OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)
Instalar Apache Spark
En el momento de escribir este tutorial, la última versión de Apache Spark es la 3.1.2. Puedes descargarla con el siguiente comando:
wget https://dlcdn.apache.org/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz
Una vez completada la descarga, extrae el archivo descargado con el siguiente comando:
tar -xvzf spark-3.1.2-bin-hadoop3.2.tgz
A continuación, mueve el directorio extraído a /opt con el siguiente comando:
mv spark-3.1.2-bin-hadoop3.2/ /opt/spark
A continuación, edita el archivo ~/.bashrc y añade la variable de ruta Spark:
nano ~/.bashrc
Añade las siguientes líneas:
export SPARK_HOME=/opt/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
Guarda y cierra el archivo y luego activa la variable de entorno de Spark con el siguiente comando
source ~/.bashrc
Iniciar Apache Spark
Ahora puedes ejecutar el siguiente comando para iniciar el servicio maestro de Spark:
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-debian11.out
Por defecto, Apache Spark escucha en el puerto 8080. Puedes comprobarlo con el siguiente comando:
ss -tunelp | grep 8080
Obtendrás la siguiente salida:
tcp LISTEN 0 1 *:8080 *:* users:(("java",pid=24356,fd=296)) ino:47523 sk:b cgroup:/user.slice/user-0.slice/session-1.scope v6only:0 <->
A continuación, inicia el proceso de trabajador de Apache Spark con el siguiente comando:
start-slave.sh spark://your-server-ip:7077
Accede a la interfaz web de Apache Spark
Ahora puedes acceder a la interfaz web de Apache Spark utilizando la URL http://your-server-ip:8080. Deberías ver el servicio maestro y esclavo de Apache Spark en la siguiente pantalla:
Haz clic en el identificador del trabajador. Deberías ver la información detallada de tu Worker en la siguiente pantalla:
Conectar Apache Spark a través de la línea de comandos
Si quieres conectarte a Spark a través de su línea de comandos, ejecuta los siguientes comandos:
spark-shell
Una vez conectado, obtendrás la siguiente interfaz:
Spark session available as 'spark'. Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 3.1.2 /_/ Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 11.0.12) Type in expressions to have them evaluated. Type :help for more information. scala>
Si quieres utilizar Python en Spark. Puedes utilizar la utilidad de línea de comandos pyspark.
Primero, instala 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ías obtener la siguiente salida:
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /__ / .__/\_,_/_/ /_/\_\ version 3.1.2 /_/ Using Python version 3.9.2 (default, Feb 28 2021 17:03:44) Spark context Web UI available at http://debian11:4040 Spark context available as 'sc' (master = local[*], app id = local-1633769632964). SparkSession available as 'spark'. >>>
Detener el maestro y el esclavo
En primer lugar, detén el proceso esclavo con el siguiente comando:
stop-slave.sh
Obtendrás la siguiente salida:
stopping org.apache.spark.deploy.worker.Worker
A continuación, detén el proceso maestro utilizando el siguiente comando:
stop-master.sh
Obtendrás la siguiente salida:
stopping org.apache.spark.deploy.master.Master
Conclusión
Enhorabuena, has instalado con éxito Apache Spark en Debian 11. Ahora puedes utilizar Apache Spark en tu organización para procesar grandes conjuntos de datos