Apache Spark¶
In dit artikel
Informatie
Apache Spark is een krachtige en snelle engine voor big data-verwerking die kan worden gebruikt voor diverse taken, zoals real-time verwerking van datastromen, machine learning en databaseanalyse. Spark biedt een flexibele API in meerdere programmeertalen, waaronder Scala, Java, Python en R.
Belangrijkste functies van Apache Spark¶
- Hoge prestaties: Spark maakt gebruik van gedistribueerde gegevensverwerking en geoptimaliseerde algoritmen, waardoor het grote hoeveelheden gegevens sneller kan verwerken dan traditionele oplossingen.
- Gedistribueerd: Spark kan werken op clusters van meerdere knooppunten, waardoor u de gegevensverwerking naar behoefte kunt schalen.
- Diverse API's: Spark biedt API's in verschillende programmeertalen, waardoor het geschikt is voor verschillende scenario's en developmentteams.
- Ondersteuning voor verschillende gegevenstypen: Spark kan verschillende gegevenstypen verwerken, waaronder gestructureerde gegevens (tabellen), ongestructureerde gegevens (tekst, afbeeldingen) en semi-gestructureerde gegevens (JSON).
- Spark GraphX: Een grafische API die bewerkingen op grote grafieken mogelijk maakt.
Implementatiefuncties¶
| ID | Softwarenaam | Compatibel OS | VM | BM | VGPU | GPU | Min CPU (Kernen) | Min RAM (GB) | Min HDD/SSD (GB) | Aangepast Domein | Actief |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 204 | Apache Spark | Ubuntu 22.04 | + | + | + | + | 6 | 8 | 160 | Nee | BESTELLEN |
- Toegang tot het bedieningspaneel:
https://spark{Server_ID_from_Invapi}.hostkey.in - De installatietijd van het bedieningspaneel samen met het besturingssysteem is ongeveer 15 minuten.
Opmerking
Tenzij anders vermeld, installeren we standaard de nieuwste releaseversie van software van de website van de ontwikkelaar of uit de repositories van het besturingssysteem.
Aan de slag na het implementeren van Apache Spark¶
Na betaling van uw bestelling ontvangt u een e-mailmelding (op het tijdens de registratie geregistreerde adres) wanneer de server klaar is voor gebruik. Deze melding bevat het VPS-IP-adres en de inloggegevens voor verbinding. Klanten van ons bedrijf beheren hun apparatuur via het serverbedieningspaneel en de API - Invapi.
U kunt de authenticatiegegevens vinden op het tabblad Configuration >> Tags in het serverbedieningspaneel of in de e-mail die u ontvangt nadat de server klaar is voor gebruik:
- Link voor toegang tot de webinterface van Apache Airflow: in de tag webpanel;
- Login en Password: verstrekt in de e-mail die naar uw geregistreerde e-mailadres wordt gestuurd wanneer de server klaar is voor gebruik.
Apache Spark configureren¶
Spark kan worden gestart op een lokale computer of in een gedistribueerde omgeving. Voordat u op de link uit de tag webpanel klikt, moet u:
Verbind met de server via SSH:
Start vervolgens de vereiste applicatie met het commando uit de tabel in de sectie Componenten starten.
Anders wordt er bij het klikken op de link een 502-fout (Bad Gateway) weergegeven.
Componenten starten¶
U kunt verschillende Spark-componenten zoals Application, Standalone Master, Standalone Worker en History Server met een webinterface starten met commando's uit de onderstaande tabel.
| Naam | Lokaal adres en poort | Extern adres | Startcommando |
|---|---|---|---|
| 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 |
Houd er rekening mee dat de commando's voor het starten van Spark-componenten kunnen variëren afhankelijk van de gebruikte versie. De bovenstaande voorbeelden gebruiken Spark-versie 3.5.3. Bij het updaten van Spark moet u de paden in de commando's dienovereenkomstig aanpassen. Het wordt altijd aanbevolen om de nieuwste Spark-documentatie te raadplegen voor de meest accurate informatie over startcommando's voor componenten. Om de versie te controleren, maakt u verbinding met de server via SSH en voert u het volgende commando uit:
De uitvoer van dit commando geeft een lijst met de inhoud van de /root-map, inclusief de spark-map met de geïnstalleerde versie:

Na het starten van de Spark-componenten kunt u toegang krijgen tot hun webinterfaces via de opgegeven externe adressen. Overweeg een voorbeeld van de Spark Application-interface:

Dit voorbeeld toont de Spark Application-interface die toegankelijk is via https://spark{Server_ID_from_Invapi}.hostkey.in. Deze interface toont informatie over lopende taken, verwerkingsstadia, geheugengebruik en andere belangrijke statistieken.
Het is belangrijk op te merken dat links naar andere Spark-componenten (bijv. Standalone Master of Worker) in deze interface niet werken bij verbinding vanaf een andere machine. Dit komt door beveiligingsinstellingen: de componenten zijn geconfigureerd voor lokaal gebruik, en alleen de webinterface die toegankelijk is via de domeinnaam is extern blootgesteld.
Om deze configuratie te wijzigen en externe toegang tot alle componenten mogelijk te maken, moet u de volgende stappen uitvoeren:
- Stop en verwijder de huidige Docker-container door het commando
docker compose up downuit te voeren in de/root/nginx-map. - Verwijder de regel
SPARK_LOCAL_IP="127.0.0.1"uit het bestand/etc/environment.
Na deze wijzigingen is de Spark-webinterface toegankelijk via het witte IP-adres zonder SSL-certificaat. Deze wijziging kan ook connectiviteitsproblemen tussen componenten oplossen als deze zich tijdens het gebruik voordoen.
Opmerking
Het is belangrijk om te onthouden dat deze configuratie het beveiligingsniveau van de Spark-cluster verlaagt. Het moet alleen worden gebruikt wanneer dit noodzakelijk is en in een beveiligde netwerkomgeving. Als u deze configuratie gebruikt, overweeg dan het configureren van SSL-verbindingen binnen Spark zelf of het implementeren van andere beveiligingsmaatregelen om de cluster te beschermen.
Pad aanpassen¶
- Stop de Docker-container door het commando
docker compose up downuit te voeren in de/root/nginx-map. - Voer de benodigde wijzigingen aan in het Nginx-configuratiebestand:
/data/nginx/user_conf.d/spark{Server_ID_from_Invapi}.hostkey.in.conf. - Start de Docker-container opnieuw vanuit de
/root/nginx-map met het commandodocker compose up -d.
Opmerking
Gedetailleerde informatie over basisinstellingen voor Apache Spark is te vinden in de ontwikkelaarsdocumentatie.