Apache Spark¶
En este artículo
Información
Apache Spark es un motor potente y rápido para el procesamiento de big data que puede utilizarse para diversas tareas, como el procesamiento de flujos de datos en tiempo real, el aprendizaje automático (machine learning) y el análisis de bases de datos. Spark proporciona una API flexible en múltiples lenguajes de programación, incluidos Scala, Java, Python y R.
Características principales de Apache Spark¶
- Alto rendimiento: Spark utiliza el procesamiento de datos distribuido y algoritmos optimizados, lo que le permite procesar grandes volumes de datos más rápido que las soluciones tradicionales.
- Distribución: Spark puede funcionar en clústeres de múltiples nodos, lo que le permite escalar el procesamiento de datos según sea necesario.
- APIs diversas: Spark ofrece APIs en varios lenguajes de programación, lo que lo hace adecuado para diferentes escenarios y equipos de desarrollo.
- Soporte para varios tipos de datos: Spark puede manejar diferentes tipos de datos, incluidos datos estructurados (tablas), datos no estructurados (texto, imágenes) y datos semiestructurados (JSON).
- Spark GraphX: Una API gráfica que permite realizar operaciones en grafos de gran tamaño.
Funcionalidades de despliegue¶
| ID | Nombre del Software | SO Compatible | VM | BM | VGPU | GPU | CPU Mín. (Núcleos) | RAM Mín. (GB) | HDD/SSD Mín. (GB) | Dominio Personalizado | Activo |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 204 | Apache Spark | Ubuntu 22.04 | + | + | + | + | 6 | 8 | 160 | No | PEDIR |
Para obtener información sobre las funcionalidades de implementación de este software, consulte este enlace.
Acceso al panel de control: https://spark{Server_ID_from_Invapi}.hostkey.in
Nota
A menos que se especifique lo contrario, por defecto instalamos la última versión de lanzamiento del software desde el sitio web del desarrollador o desde los repositorios del sistema operativo.
Primeros pasos tras el despliegue de Apache Spark¶
Después de pagar su pedido, recibirá una notificación por correo electrónico (a la dirección registrada durante el registro) cuando el servidor esté listo para usar. Esta notificación incluirá la dirección IP del VPS y las credenciales de inicio de sesión para la conexión. Los clientes de nuestra empresa gestionan sus equipos a través del panel de control del servidor y su API - Invapi.
Puede encontrar los datos de autenticación en la pestaña Configuration >> Tags del server control panel o en el correo electrónico enviado después de que el servidor esté listo para su uso:
- Enlace para acceder a la interfaz web de Apache Airflow: en el tag webpanel;
- Login e Password: proporcionados en el correo electrónico enviado a su dirección de correo registrada cuando el servidor esté listo para usar.
Configuración de Apache Spark¶
Spark puede ejecutarse en un ordenador local o en un entorno distribuido. Antes de hacer clic en el enlace del tag webpanel, debe:
Conectarse al servidor vía SSH:
Luego, ejecute la aplicación requerida utilizando el comando de la tabla en la sección Inicio de los componentes.
De lo contrario, al hacer clic en el enlace se mostrará un error 502 (Bad Gateway).
Inicio de los componentes¶
Puede iniciar varios componentes de Spark como Application, Standalone Master, Standalone Worker y History Server con una interfaz web utilizando los comandos de la tabla siguiente.
| Nombre | Dirección local y puerto | Dirección externa | Comando de ejecución |
|---|---|---|---|
| Application | localhost:4040 | https://spark{Server_ID_from_Invapi}.hostkey.in | /root/spark-3.5.3-bin-hadoop3/bin/./spark-shell |
| Standalone Master | localhost:8080 | https://spark{Server_ID_from_Invapi}.hostkey.in/master | /root/spark-3.5.3-bin-hadoop3/sbin/./start-master.sh |
| Standalone Worker | localhost:8081 | https://spark{Server_ID_from_Invapi}.hostkey.in/worker | /root/spark-3.5.3-bin-hadoop3/sbin/./start-master.sh spark://hostname:port |
| History Server | localhost:18080 | https://spark{Server_ID_from_Invapi}.hostkey.in/history | mkdir /tmp/spark-events/root/spark-3.5.3-bin-hadoop3/sbin/./start-history-server.sh |
Tenga en cuenta que los comandos para iniciar los componentes de Spark pueden variar dependiendo de la versión utilizada. Los ejemplos anteriores utilizan la versión 3.5.3 de Spark. Al actualizar Spark, deberá ajustar las rutas en los comandos en consecuencia. Siempre se recomienda consultar la documentación oficial más reciente de Spark para obtener la información más precisa sobre los comandos de inicio de componentes. Para comprobar la versión, conéctese al servidor vía SSH e introduzca el comando:
La salida de este comando enumerará el contenido del directorio /root, incluyendo el directorio spark con la versión instalada:

Después de iniciar los componentes de Spark, puede acceder a sus interfaces web a través de las direcciones externas especificadas. Considere un ejemplo de la interfaz de la Spark Application:

Este ejemplo muestra la interfaz de la Spark Application accesible en https://spark{Server_ID_from_Invapi}.hostkey.in. Esta interfaz muestra información sobre las tareas en ejecución, etapas de procesamiento, uso de memoria y otras métricas clave.
Es importante tener en cuenta que los enlaces a otros componentes de Spark (por ejemplo, Standalone Master o Worker) en esta interfaz no funcionarán cuando se conecte desde otra máquina. Esto se debe a la configuración de seguridad: los componentes están configurados para funcionamiento local, y solo la interfaz web accesible a través del nombre de dominio está expuesta externamente.
Para modificar esta configuración y permitir el acceso externo a todos los componentes, debe realizar los siguientes pasos:
- Detenga y elimine el contenedor Docker actual ejecutando el comando
docker compose up downen el directorio/root/nginx. - Elimine la línea
SPARK_LOCAL_IP="127.0.0.1"del archivo/etc/environment.
Después de estos cambios, la interfaz web de Spark será accesible a través de la dirección IP blanca sin un certificado SSL. Esta modificación también puede resolver problemas de conectividad entre componentes si surgen durante el funcionamiento.
Nota
Es importante recordar que esta configuración reduce el nivel de seguridad del clúster de Spark. Solo debe utilizarse cuando sea necesario y en un entorno de red seguro. Si utiliza esta configuración, considere configurar conexiones SSL dentro del propio Spark o implementar otras medidas de seguridad para proteger el clúster.
Personalización de rutas¶
- Detenga el contenedor Docker ejecutando el comando
docker compose up downen el directorio/root/nginx. - Realice las ediciones necesarias en el archivo de configuración de Nginx:
/data/nginx/user_conf.d/spark{Server_ID_from_Invapi}.hostkey.in.conf. - Reinicie el contenedor Docker desde el directorio
/root/nginxutilizando el comandodocker compose up -d.
Nota
Puede encontrar información detallada sobre la configuración básica de Apache Spark en la developer documentation.
Pedido de un servidor con Apache Spark mediante la API¶
Para instalar este software utilizando la API, siga estas instrucciones.