Konfigurieren der Informationen zur Spark-Protokollstufe
die laufenden Anwendungen überprüfen und die vorliegenden Probleme anhand der Protokolle identifizieren, die die Spark-Anwendung „ Analytics Engine powered by Apache Spark “ generiert. Die verfügbaren Standard-Protokollierungsstufen sind ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL und OFF. Standardmäßig protokolliert die Spark-Anwendung „ Analytics Engine powered by Apache Spark “ auf der Spark-Ebene „INFO“. Sie können die Protokollierungsstufe so konfigurieren, dass relevante Meldungen angezeigt werden und weniger ausführliche Meldungen.
Die Protokollierungskonfiguration „ Analytics Engine powered by Apache Spark “ legt die Protokollierungsstufe des Spark-Frameworks fest. Dies hat keine Auswirkungen auf die Protokolle, die vom Benutzercode mithilfe von Befehlen wie „ logger.info ()“, „ logger.warn ()“, „print()“ oder „show()“ in der Spark-Anwendung geschrieben werden.
Diese Funktion gilt nur für Spark-Anwendungen. Diese Funktion wird für interaktive Spark-Anwendungen oder Spark-Kernel nicht unterstützt.
Optionen konfigurieren
Konfigurieren Sie die folgenden Protokolle unter Analytics Engine powered by Apache Spark, um die Protokollstufe der Spark-Anwendung festzulegen:
- Spark-Treiberprotokolle (unter Verwendung von
ae.spark.driver.log.level) - Spark-Executor-Protokolle (unter Verwendung von
ae.spark.executor.log.level)
Geben Sie diese Option im Abschnitt „Spark-Konfigurationen“ an, wenn Sie eine „ Analytics Engine powered by Apache Spark “-Instanz bereitstellen oder eine Spark-Anwendung übermitteln. Sie können die folgenden Standardwerte für die Protokollierungsstufe festlegen:
- ALLE
- TRACE
- DEBUG
- INFORMATION
- WARN
- FEHLER
- FATAL
- AUS
Der Standardwert für die Protokollstufe sowohl des Treibers als auch des Ausführenden ist INFO.
Sie können die Konfiguration auf folgende zwei Arten anwenden:
- Konfiguration auf Instanzebene
- Konfiguration auf Anwendungsebene
Konfigurieren der Spark-Protokollstufen auf Instanzebene
Geben Sie bei der Bereitstellung einer „ Analytics Engine powered by Apache Spark “-Instanz die Konfigurationen für die Protokollierungsstufe unter dem Attribut „default_config“ an. Weitere Informationen finden Sie unter „Standardkonfiguration von Spark “.
Beispiel:
"default_config": {
"ae.spark.driver.log.level": "WARN",
"ae.spark.executor.log.level": "ERROR"
}
Konfigurieren der Spark-Protokollstufen auf Anwendungsebene
Geben Sie bei der Übermittlung eines Auftrags die Optionen in der Nutzlast unter […] conf an. Weitere Informationen finden Sie unter „Spark-Anwendung “.
Beispiel:
{
"conf": {
"ae.spark.driver.log.level":"WARN",
"ae.spark.executor.log.level":"WARN",
}
}
Beispiel für einen Anwendungsfall
Festlegen der Spark-Konfiguration für die Protokollierungsstufe auf Instanzebene : Der Beispielanwendungsfall betrachtet das Szenario, in dem Sie eine „ Analytics Engine powered by Apache Spark “-Instanz bereitstellen und die Protokollierungsstufe so konfigurieren, dass alle Anwendungen in der Instanz auf der Stufe „ERROR“ protokollieren.
Legen Sie die folgenden Einstellungen als Standardkonfigurationen für Spark fest:
- ae.spark.driver.log.level = FEHLER
- ae.spark.executor.log.level = FEHLER
Nach dem Festlegen der Standard-Spark-Konfiguration wird die Protokollierungsstufe für alle Anwendungen, die an die Instanz übermittelt werden, auf gesetzt
ERROR(sofern in der Anwendungs-Payload bei der Übermittlung keine Spark-Konfiguration angegeben wird).
Festlegen der Spark-Konfiguration für die Protokollierungsstufe auf Job-Ebene : Der Beispielanwendungsfall betrachtet ein Szenario, in dem Sie über eine Anwendung verfügen und die Protokollierungsstufe so konfiguriert ist, dass Protokolle auf der Stufe „INFO“ aufgezeichnet werden. Sie können die Spark-Konfiguration in der Nutzlast festlegen. Betrachten Sie die folgende Beispiel-Nutzlast:
curl -k -X POST <V4_JOBS_API_ENDPOINT> -H "Authorization: ZenApiKey ${TOKEN}" -d '{
"application_details": {
"application": "/opt/ibm/spark/examples/src/main/python/wordcount.py",
"arguments": ["/opt/ibm/spark/examples/src/main/resources/people.txt"],
"conf": {
"ae.spark.driver.log.level":"DEBUG",
"ae.spark.executor.log.level":"DEBUG",
}
}
}'
Im Beispiel-Anwendungsfall überschreibt die Spark-Anwendung die auf Instanzebene festgelegte Spark-Konfiguration für die Protokollierungsstufe, d. h. sie ändert „ERROR“ in „INFO“.
Aktivieren der automatischen Bereinigung von Verlaufsprotokollen
Sie können den Spark-Verlauf so konfigurieren, dass die Protokolle des Spark-Verlaufs automatisch bereinigt werden. Die folgende Standardkonfiguration aktiviert automatisch die Bereinigung von Protokollinformationen, die älter als 30 Tage sind. Außerdem werden die Protokolle täglich überprüft, um die Protokolle zu löschen, die älter als 30 Tage sind.
Beispiel:
"default_config": {
"spark.history.fs.cleaner.enabled": "true"
"spark.history.fs.cleaner.interval": "1d"
"spark.history.fs.cleaner.maxAge": "30d"
}