Verwenden der Rotation des Spark-Ereignisprotokolls - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden der Rotation des Spark-Ereignisprotokolls

Mit Amazon EMR 6.3.0 und höher können Sie das Feature zur Rotation des Spark-Ereignisprotokolls für Amazon EMR in EKS aktivieren. Anstatt eine einzelne Ereignisprotokolldatei zu generieren, rotiert dieses Feature die Datei auf der Grundlage Ihres konfigurierten Zeitintervalls und entfernt die ältesten Ereignisprotokolldateien.

Durch das Rotieren von Spark-Ereignisprotokollen können Sie potenzielle Probleme mit einer großen Spark-Ereignisprotokolldatei vermeiden, die für Aufträge mit langer Laufzeit oder Streaming-Aufträge generiert wird. Sie starten beispielsweise einen Spark-Auftrag mit langer Laufzeit und einem mit dem persistentAppUI-Parameter aktivierten Ereignisprotokoll. Der Spark-Treiber generiert eine Ereignisprotokolldatei. Wenn der Auftrag stunden- oder tagelang ausgeführt wird und der Speicherplatz auf dem Kubernetes-Knoten begrenzt ist, kann die Ereignisprotokolldatei den gesamten verfügbaren Speicherplatz beanspruchen. Das Aktivieren des Spark-Features zur Rotation des Ereignisprotokolls löst das Problem, indem die Protokolldatei in mehrere Dateien aufgeteilt und die ältesten Dateien entfernt werden.

Anmerkung

Dieses Feature funktioniert nur mit Amazon EMR in EKS. Amazon EMR, das in Amazon EC2 ausgeführt wird, unterstützt die Rotation des Spark-Ereignisprotokolls nicht.

Um das Feature zur Rotation des Spark-Ereignisprotokolls zu aktivieren, konfigurieren Sie die folgenden Spark-Parameter:

  • spark.eventLog.rotation.enabled – aktiviert die Protokoll-Rotation. Standardmäßig ist die Rückverfolgungsverwaltung in der Spark-Konfigurationsdatei deaktiviert. Stellen Sie diese auf true ein, um dieses Feature zu aktivieren.

  • spark.eventLog.rotation.interval – gibt das Zeitintervall für die Protokollrotation an. Der Mindestwert beträgt 60 Sekunden. Der Standardwert beträgt 300 Sekunden.

  • spark.eventLog.rotation.minFileSize – gibt eine Mindestdateigröße für die Rotation der Protokolldatei an. Der Mindest- und Standardwert beträgt 1 MB.

  • spark.eventLog.rotation.maxFilesToRetain – gibt an, wie viele rotierte Protokolldateien während der Bereinigung beibehalten werden sollen. Der gültige Bereich ist 1 bis 10. Der Standardwert lautet 2.

Sie können diese Parameter im sparkSubmitParameters-Abschnitt der StartJobRun-API angeben, wie das folgende Beispiel zeigt.

"sparkSubmitParameters": "--class org.apache.spark.examples.SparkPi --conf spark.eventLog.rotation.enabled=true --conf spark.eventLog.rotation.interval=300 --conf spark.eventLog.rotation.minFileSize=1m --conf spark.eventLog.rotation.maxFilesToRetain=2"