Spark-Protokollserver
Die Spark-Anwendungen, die in einer IBM Analytics Engine-Instanz übergeben werden, leiten ihre Spark-Ereignisse an das Bucket Object Storage weiter, das als Instanzausgangsverzeichnisdefiniert wurde. Der Spark-Protokollserver bietet eine Web UI zum Anzeigen dieser Spark-Ereignisse. Mithilfe der Web UI können Sie analysieren, wie Ihre Spark-Anwendungen ausgeführt wurden, indem Sie nützliche Informationen wie die folgenden anzeigen:
- Eine Liste der Phasen, die die Anwendung durchläuft, wenn sie ausgeführt wird
- Die Anzahl der Aufgaben in jeder Phase
- Die Konfigurationsdetails, wie z. B. die aktiven Executors und die Speicherbelegung
Weitere Details finden Sie in der Dokumentation zu Spark History Server.
Sie können die Weiterleitung von Spark-Ereignissen von einer Spark-Anwendung inaktivieren, indem Sie die Eigenschaft spark.eventLog.enabled in der Konfiguration der Spark-Anwendung auf false setzen.
Spark-Protokollserver starten und stoppen
Vor dem Zugriff auf den Spark-Protokollserver müssen Sie den Server starten. Wenn Sie den Server nicht mehr benötigen, sollten Sie ihn stoppen. Ihnen werden die CPU-Cores und der Hauptspeicher in Rechnung gestellt, die vom Spark-Protokollserver während seiner Ausführung belegt werden.
Der Spark-Protokollserver kann wie folgt gestartet und gestoppt werden:
- Die Analytics Engine-REST-API
- Die Benutzerschnittstelle der Analytics Engine-Instanz
REST-API Analytics Engine
Sie können die REST-API Analytics Engine verwenden:
-
Status des Spark-Protokollservers anzeigen
curl "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>" -
So starten Sie den Spark-Protokollserver
curl --location --request POST "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>" -
So stoppen Sie den Spark-Protokollserver
curl --location --request DELETE "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>"
Benutzerschnittstelle für Analytics Engine-Instanz
Sie können die Benutzerschnittstelle der Analytics Engine-Instanz verwenden:
-
Gehen Sie wie folgt vor, um den Spark-Protokollserverstatus anzuzeigen:
- Öffnen Sie Ihre Ressourcenliste unter IBM Cloud.
- Klicken Sie auf Services und Software und wählen Sie Ihre Instanz aus, um die Detailseite zu öffnen.
- Wählen Sie die Registerkarte Spark-Protokoll aus. Auf dieser Seite wird der aktuelle Status des Servers angezeigt.
Wenn der Status des Spark-Protokollservers auf
Startedgesetzt ist, können Sie auch auf Spark-Protokoll anzeigen klicken, um die Web UI des Spark-Protokollservers in einer neuen Browserregisterkarte zu starten. -
Gehen Sie wie folgt vor, um den Spark-Protokollserver zu starten:
- Klicken Sie auf der Seite
Spark historyauf Protokollserver starten. - Wählen Sie die Serverkonfiguration aus und klicken Sie auf Start, um den Spark-Protokollserver zu starten.
- Klicken Sie auf der Seite
-
Gehen Sie wie folgt vor, um den Spark-Protokollserver zu stoppen:
- Klicken Sie auf der Seite
Spark historyauf Protokollserver stoppen.
- Klicken Sie auf der Seite
Web UI des Spark-Protokollservers öffnen
Sie können das Spark-Protokoll Web UI öffnen, indem Sie die Seite mit den Instanzdetails Ihrer Analytics Engine-Serviceinstanz öffnen, zur Registerkarte Spark-Protokoll wechseln und auf Spark-Protokoll anzeigen klicken.
Alternativ kann die Web UI-URL des Spark-Protokollservers über einen Serviceendpunkt abgerufen werden, der Ihnen als Serviceschlüssel (auch als Serviceberechtigungsnachweis bezeichnet) zur Verfügung gestellt wird. Siehe Serviceendpunkte abrufen.
Stellen Sie sicher, dass der Spark-Protokollserver aktiv ist, bevor Sie die Web UIöffnen.
Protokolllinks unter den Registerkarten "Stages" und "Executors" der Benutzerschnittstelle des Spark-Protokollservers funktionieren nicht, da Protokolle mit den Spark-Ereignissen nicht beibehalten werden. Aktivieren Sie die Plattformprotokollierung, um die Task-und Executorprotokolle zu überprüfen. Details hierzu finden Sie unter Protokolle konfigurieren und anzeigen.
Um ältere Anwendungen in der Benutzerschnittstelle des Spark-Protokollservers anzuzeigen, kopieren Sie die spark-Ereignisse mit dem folgenden Befehl aus dem alten Pfad in den neuen Pfad: ibmcloud cos object-copy -- bucket < Zielbucket>
-- key
Zugriff auf die REST-API des Spark-Protokollservers
Neben der Webbenutzerschnittstelle stellt der Spark-Protokollserver auch eine REST-API bereit, die abgefragt werden kann, um die von Ihren Spark-Anwendungen generierten Spark-Ereignisse anzuzeigen. Die REST-API des Spark-Protokollservers ist als Serviceendpunkt in einem Serviceschlüssel (auch als Serviceberechtigungsnachweis bezeichnet) verfügbar. Siehe Serviceendpunkte abrufen.
Wenn Sie die REST-API des Spark-Protokollservers aufrufen, müssen Sie Ihr IAM-Token als Trägertoken im Berechtigungsheader angeben. E.g.
curl --location --request GET 'https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance id>/spark_history_api/v1/applications?status=completed' \
--header 'Authorization: Bearer <iam token>'
Weitere Informationen finden Sie in der REST-API-Dokumentation für Spark History Server.
Spark-Protokollserver anpassen
Standardmäßig belegt der Spark-Protokollserver 1 CPU-Core und 4 GiB Speicher, während er ausgeführt wird. Wenn Ihr Spark-Protokollserver mehr Ressourcen verwenden soll, können Sie die folgenden Eigenschaften in den Standardkonfigurationen Ihrer Analytics Engine-Instanz festlegen:
ae.spark.history-server.coresfür die Anzahl der CPU-Coresae.spark.history-server.memoryfür die Speicherkapazität
CPU-Cores und Speichereinstellungen mithilfe der REST API aktualisieren
Sie können die Einstellungen für CPU-Kerne und Hauptspeicher mithilfe der REST-API Analytics Engine wie folgt aktualisieren:
curl --location --request PATCH "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/default_configs" \
--header "Authorization: bearer <iam_token>" \
--header 'Content-Type: application/json' \
--data-raw '{
"ae.spark.history-server.cores": "2",
"ae.spark.history-server.memory": "8G"
}'
Es wird nur eine vordefinierte Liste von Spark-Treiber und Executor vCPUsowie Kombinationen von Speichergrößen unterstützt. Weitere Informationen finden Sie unter Supported Spark driver and executor vCPU and memory kombinationen.
Zusätzliche Anpassungen
Sie können den Spark-Protokollserver weiter anpassen, indem Sie Eigenschaften zur Spark-Standardkonfiguration Ihrer Analytics Engine-Instanz hinzufügen. Siehe Standardkonfigurationsoptionen für Spark-Protokolle.
Da es sich um ein verwaltetes Angebot handelt, können Sie nicht alle Standardkonfigurationsoptionen für Spark anpassen.
Eine Liste der unterstützten Konfigurationen und Standardwerte für Einstellungen finden Sie unter Spark-Standardkonfiguration.
Bewährte Verfahren
Stoppen Sie den Spark-Protokollserver immer, wenn Sie ihn nicht mehr benötigen. Beachten Sie, dass der Spark-Protokollserver kontinuierlich CPU-amd-Speicherressourcen verbraucht, während sein Status Started ist.