Aller au contenu

Apache Spark

Dans cet article

Information

Apache Spark est un moteur puissant et rapide pour le traitement de données massives (big data) qui peut être utilisé pour diverses tâches, telles que le traitement de flux de données en temps réel, l'apprentissage automatique (machine learning) et l'analyse de bases de données. Spark fournit une API flexible dans plusieurs langages de programmation, notamment 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 de faire évoluer le traitement des données selon vos besoins.
  • APIs diverses : Spark propose des APIs dans divers langages de programmation, ce qui le rend adapté à différents scénarios et équipes de développement.
  • Prise en charge de 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 des graphes de grande taille.

Fonctionnalités de déploiement

ID Nom du logiciel Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (GB) Min HDD/SSD (GB) Domaine personnalisé Actif
204 Apache Spark Ubuntu 22.04 + + + + 6 8 160 Non COMMANDER

Accès au panneau de configuration : https://spark{Server_ID_from_Invapi}.hostkey.in

Remarque

Sauf indication contraire, nous installons par défaut la dernière version de la version logicielle provenant du site web du développeur ou des dépôts du système d'exploitation.

Commencer 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 du VPS et les identifiants de connexion. Les clients de notre entreprise gèrent leur équipement via le server control panel et l'API - Invapi.

Vous peut trouver les données d'authentification dans l'onglet Configuration >> Tags du server control panel ou dans l'e-mail qui vous sera envoyé une fois que le serveur sera prêt à l'emploi :

  • Lien pour accéder à l'interface web Apache Airflow : dans le tag webpanel ;
  • Login et Password : fournis dans l'e-mail envoyé à votre adresse e-mail enregistrée lorsque le serveur est prêt à l'emploi.

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

Vous connecter au serveur via SSH :

ssh root@<server_ip>

Ensuite, lancez l'application requise en utilisant la commande de la table de la section Launching Components.

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

Lancement des composants

Vous pouvez démarrer divers composants Spark tels que l'Application, le Standalone Master, le Standalone Worker et le History Server avec une interface web en utilisant les commandes du tableau ci-dessous.

Nom Adresse et Port Locaux 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
/root/spark-3.5.3-bin-hadoop3/sbin/./start-history-server.sh

Veuillez noter que les commandes de lancement des composants Spark peuvent varier selon la version utilisée. Les exemples ci-dessus utilisent la version 3.5.3 de Spark. 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 de 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 saisissez la commande :

ls /root

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

Après avoir lancé les composants Spark, vous pouvez accéder à leurs interfaces web via les adresses externes spécifiées. Voici un exemple de l'interface Spark Application :

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

Il est important de noter que les liens vers d'autres composants Spark (par exemple, Standalone Master ou Worker) dans cette interface ne fonctionneront pas lors d'une connexion depuis une autre machine. Cela est dû aux paramètres de sécurité : les composants sont configurés pour un fonctionnement local, 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 actuel 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 de Spark sera accessible via l'adresse IP sans certificat SSL. Cette modification peut également résoudre les problèmes de connectivité entre les composants s'ils surviennent pendant l'utilisation.

Remarque

Il est important de se rappeler que cette configuration réduit le niveau de sécurité du cluster Spark. Elle ne doit être utilisée que si nécessaire et dans un environnement réseau sécurisé. Si vous utilisez cette configuration, envisagez de configurer des connexions SSL au sein de Spark lui-même ou de mettre en œuvre 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.

Remarque

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

Commander un serveur avec Apache Spark via l'API

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