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 datastroomverwerking, machine learning en database-analyse. Spark biedt een flexibele API in meerdere programmeertalen, waaronder Scala, Java, Python en R.
Belangrijkste kenmerken van Apache Spark¶
- High Performance: Spark maakt gebruik van gedistribueerde gegevensverwerking en geoptimaliseerde algoritmen, waardoor het grotere hoeveelheden gegevens sneller kan verwerken dan traditionele oplossingen.
- Distributie: Spark kan werken op clusters van meerdere nodes, waardoor u de gegevensverwerking naar wens kunt schalen.
- Diverse API's: Spark biedt API's in verschillende programmeertalen, waardoor het geschikt is voor verschillende scenario's en ontwikkelteams.
- Ondersteuning voor diverse datatypen: Spark kan verschillende datatypen verwerken, waaronder gestructureerde gegevens (tabellen), ongestructureerde gegevens (tekst, afbeeldingen) en semi-gestructureerde gegevens (JSON).
- Spark GraphX: Een grafische API die operaties 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 controlepaneel: https://spark{Server_ID_from_Invapi}.hostkey.in
Opmerking
Tenzij anders aangegeven, installeren we standaard de nieuwste releaseversie van de software vanaf de website van de ontwikkelaar of uit de repositories van het besturingssysteem.
Aan de slag na het implementeren van Apache Spark¶
Nadat u voor uw bestelling heeft betaald, ontvangt u een e-mailmelding (naar het adres dat tijdens de registratie is opgegeven) wanneer de server klaar is voor gebruik. Deze melding bevat het VPS IP-adres en de inloggegevens voor de verbinding. De klanten van ons bedrijf beheren hun apparatuur via het server control panel and API - Invapi.
U kunt de authenticatiegegevens vinden in het tabblad Configuration >> Tags van het server control panel, of in de e-mail die u ontvangt nadat de server klaar is voor gebruik:
- Link naar de Apache Airflow webinterface: in de tag webpanel;
- Login and Password: verstrekt in de e-mail die naar uw geregistreerde e-mailadres is 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 in de tag webpanel klikt, moet u het volgende doen:
Verbind met de server via SSH:
Start vervolgens de vereiste applicatie met het commando uit de tabel in de sectie Launching Components.
Indien u dit niet doet, zal het klikken op de link een 502 (Bad Gateway) foutmelding geven.
Het starten van componenten¶
U kunt verschillende Spark-componenten starten, zoals Application, Standalone Master, Standalone Worker en History Server met een webinterface via de commando's in de onderstaande tabel.
| Name | Local Address and Port | External Address | Launch Command |
|---|---|---|---|
| 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 bijwerken 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 nauwkeurige informatie over de commando's voor het starten van componenten. Om de versie te controleren, maakt u verbinding met de server via SSH en voert u het commando uit:
De uitvoer van dit commando zal de inhoud van de /root directory weergeven, inclusief de spark directory met de geïnstalleerde versie:

Nadat u de Spark-componenten heeft gestart, kunt u hun webinterfaces openen via de opgegeven externe adressen. Bekijk een voorbeeld van de Spark Application interface:

Dit voorbeeld laat de Spark Application interface zien die toegankelijk is via https://spark{Server_ID_from_Invapi}.hostkey.in. Deze interface toont informatie over lopende taken, verwerkingsfasen, geheugengebruik en andere belangrijke statistieken.
Het is belangrijk om te weten dat links naar andere Spark-componenten (bijv. Standalone Master of Worker) in deze interface niet zullen werken wanneer u verbindt vanaf een andere machine. Dit komt door de beveiligingsinstellingen: de componenten zijn geconfigureerd voor lokaal gebruik, en alleen de webinterface die via de domeinnaam toegankelijk is, 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/nginxdirectory. - 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 verbindingsproblemen tussen componenten oplossen als deze tijdens het gebruik optreden.
Opmerking
Het is belangrijk om te onthouden dat deze configuratie het beveiligingsniveau van de Spark-cluster verlaagt. Dit moet alleen worden gebruikt wanneer het noodzakelijk is en in een beveiligde netwerkomgeving. Als u deze configuratie gebruikt, overweeg dan om SSL-verbindingen binnen Spark zelf te configureren of andere beveiligingsmaatregelen te implementeren om de cluster te beschermen.
Paden aanpassen¶
- Stop de Docker-container door het commando
docker compose up downuit te voeren in de/root/nginxdirectory. - Maak de noodzakelijke wijzigingen in het Nginx-configuratiebestand:
/data/nginx/user_conf.d/spark{Server_ID_from_Invapi}.hostkey.in.conf. - Start de Docker-container opnieuw op vanuit de
/root/nginxdirectory met het commandodocker compose up -d.
Opmerking
Gedetailleerde informatie over de basisinstellingen van Apache Spark is te vinden in de developer documentation.
Een server met Apache Spark bestellen via de API¶
Om deze software te installeren met behulp van de API, volgt u deze instructies.