Aller au contenu

Apache Spark

Dans cet article

Information

Apache Spark est un moteur puissant et rapide pour le traitement de données massives pouvant être utilisé pour diverses tâches, telles que le traitement de flux de données en temps réel, l'apprentissage automatique et l'analyse de bases de données. Spark fournit une API flexible dans plusieurs langages de programmation, y compris Scala, Java, Python et R.

Caractéristiques clés d'Apache Spark

  • Haute performance : Spark utilise le traitement de données distribué et des algorithmes optimisés, ce qui lui permet de traiter de grands volumes de données plus rapidement que les solutions traditionnelles.
  • Distributivité : Spark peut fonctionner sur des clusters de plusieurs nœuds, vous permettant d'évoluer le traitement des données selon vos besoins.
  • API diversifiées : Spark propose des API dans divers langages de programmation, ce qui le rend adapté à différents scénarios et équipes de développement.
  • Support pour divers types de données : Spark peut gérer différents types de données, y compris les données structurées (tables), les données non structurées (texte, images) et les données semi-structurées (JSON).
  • Spark GraphX : Une API graphique qui permet des opérations sur de grands graphes.

## Fonctionnalités de déploiement | ID | Nom du logiciel | Système d'exploitation compatible | VM | BM | VGPU | GPU | Min CPU (Cœurs) | Min RAM (Go) | Min HDD/SSD (Go) | Actif | |----|--------|---------------|----|----|------|-----|-----------------|--------------|------------------|--------| | 204 | Apache Spark | Ubuntu 22.04 | + | + | + | + | 6 | 8 | 160 | COMMANDER |

  • Accès au panneau de contrôle : https://spark{Server_ID_from_Invapi}.hostkey.in
  • Le temps nécessaire pour installer le panneau de contrôle ainsi que le système d'exploitation est d'environ 15 minutes.

Note

Sauf indication contraire, nous installons par défaut la dernière version publiée du logiciel depuis le site Web du développeur ou les dépôts du système d'exploitation.

Démarrage après le déploiement d'Apache Spark

Après avoir payé votre commande, vous recevrez une notification par e‑mail (à l'adresse enregistrée lors de l'inscription) lorsque le serveur sera prêt à être utilisé. Cette notification inclura l'adresse IP VPS et les identifiants de connexion pour la connexion. Les clients de notre société gèrent leur équipement via le panneau de contrôle du serveur et l'API - Invapi.

Vous pouvez trouver les données d'authentification, qui se trouvent dans l'onglet Info >> Tags du panneau de contrôle du serveur ou dans l'e‑mail envoyé après que le serveur soit prêt à être utilisé :

  • Lien d'accès à l'interface Web Apache Airflow : dans le tag webpanel;
  • Login et Mot de passe : fournis dans l'e‑mail envoyé à votre adresse e‑mail enregistrée lorsque le serveur est prêt à être utilisé.

Configuration d'Apache Spark

Spark peut être lancé sur un ordinateur local ou dans un environnement distribué. Avant de cliquer sur le lien du tag webpanel, vous devez :

Connectez-vous au serveur via SSH :

ssh root@<server_ip>

Ensuite lancez l'application requise en utilisant la commande de la table dans la section Lancement des composants.

Sinon, cliquer sur le lien affichera une erreur 502 (Bad Gateway).

Lancement des composants

Vous pouvez démarrer divers composants Spark tels qu’une Application, un Master autonome, un Worker autonome et un History Server avec une interface Web en utilisant les commandes de la table ci‑dessous.

Nom Adresse locale et port Adresse externe Commande de lancement
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<br /root/spark-3.5.3-bin-hadoop3/sbin/./start-history-server.sh

Veuillez noter que les commandes de lancement des composants Spark peuvent varier en fonction de la version utilisée. Les exemples ci‑dessus utilisent la version Spark 3.5.3. Lors de la mise à jour de Spark, vous devrez ajuster les chemins dans les commandes en conséquence. Il est toujours recommandé de consulter la dernière documentation Spark pour obtenir les informations les plus précises sur les commandes de lancement des composants.

Pour vérifier la version, connectez‑vous au serveur via SSH et entrez la commande :

ls /root

La sortie de cette commande répertoriera le contenu du répertoire /root, y compris le répertoire spark avec la version installée :

Après le lancement des composants Spark, vous pouvez accéder à leurs interfaces Web via les adresses externes spécifiées. Considérez un exemple de l’interface de l’Application Spark :

Cet exemple montre l’interface de l’Application Spark accessible à https://spark{Server_ID_from_Invapi}.hostkey.in. Cette interface affiche des informations sur les tâches en cours, les étapes de traitement, l’utilisation de la mémoire et d’autres indicateurs clés.

Il est important de noter que les liens vers d’autres composants Spark (par ex. Master autonome ou Worker) dans cette interface ne fonctionneront pas lorsqu’on se connecte depuis une autre machine. Cela est dû aux paramètres de sécurité : les composants sont configurés pour une opération locale, et seule l’interface Web accessible via le nom de domaine est exposée à l’extérieur.

Pour modifier cette configuration et permettre l’accès externe à tous les composants, vous devez effectuer les étapes suivantes :

  1. Arrêtez et supprimez le conteneur Docker en exécutant la commande docker compose up down dans le répertoire /root/nginx.
  2. Supprimez la ligne SPARK_LOCAL_IP="127.0.0.1" du fichier /etc/environment.

Après ces modifications, l’interface Web Spark sera accessible via l’adresse IP publique sans certificat SSL. Cette modification peut également résoudre les problèmes de connectivité entre les composants s’ils surviennent pendant le fonctionnement.

Note

Il est important de se souvenir que cette configuration réduit le niveau de sécurité du cluster Spark. Elle ne doit être utilisée que lorsque c’est nécessaire et dans un environnement réseau sécurisé. Si vous utilisez cette configuration, envisagez de configurer des connexions SSL dans Spark lui‑même ou d’implémenter d’autres mesures de sécurité pour protéger le cluster.

Personnaliser les chemins

  1. Arrêtez le conteneur Docker en exécutant la commande docker compose up down dans le répertoire /root/nginx.
  2. Effectuez les modifications nécessaires dans le fichier de configuration Nginx : /data/nginx/user_conf.d/spark{Server_ID_from_Invapi}.hostkey.in.conf.
  3. Redémarrez le conteneur Docker depuis le répertoire /root/nginx en utilisant la commande docker compose up -d.

Note

Des informations détaillées sur les paramètres de base d'Apache Spark peuvent être trouvées dans la documentation du développeur.

Commander un serveur avec Apache Spark via l'API

Pour installer ce logiciel en utilisant l'API, suivez les instructions suivantes.