

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 Spark-Container-Protokoll-Rotation
<a name="emr-eks-log-rotation-container"></a>

Mit Amazon EMR 6.11.0 und höher können Sie das Spark-Container-Protokoll-Rotationsfeature unktion für Amazon EMR in EKS aktivieren. Anstatt eine einzelne `stdout`- oder `stderr`-Protokolldatei zu generieren, rotiert dieses Feature die Datei auf der Grundlage Ihrer konfigurierten Rotationsgröße und entfernt die ältesten Protokolldateien aus dem Container.

Durch das Rotieren von Spark-Container-Protokolle können Sie potenzielle Probleme mit großen Spark-Protokolldateien vermeiden, die für lang laufende Aufträge oder Streaming-Aufträge generiert wurden. Sie könnten beispielsweise einen Spark-Auftrag mit langer Laufzeit starten und der Spark-Treiber generiert eine Container-Protokolldatei. Wenn der Auftrag stunden- oder tagelang ausgeführt wird und der Speicherplatz auf dem Kubernetes-Knoten begrenzt ist, kann die Container-Protokolldatei den gesamten verfügbaren Festplattenspeicher beanspruchen. Wenn Sie die Spark-Container-Protokollrotation aktivieren, teilen Sie die Protokolldatei in mehrere Dateien auf und entfernen die ältesten Dateien.

Um das Feature zur Rotation von Spark-Container-Protokollen zu aktivieren, konfigurieren Sie die folgenden Spark-Parameter:

**`containerLogRotationConfiguration`**  
Fügen Sie diesen Parameter `monitoringConfiguration` hinzu, um die Protokoll-Rotation zu aktivieren. Standardmäßig ist die Rückverfolgung deaktiviert. Sie müssen `containerLogRotationConfiguration` zusätzlich zu `s3MonitoringConfiguration` verwenden.

**`rotationSize`**  
Der `rotationSize`-Parameter gibt die Dateigröße für die Protokollrotation an. Der Bereich der möglichen Werte ist von `2KB` bis `2GB`. Die numerische Einheit des `rotationSize`-Parameters wird als Ganzzahl übergeben. Da Dezimalwerte nicht unterstützt werden, können Sie mit dem Wert `1500MB` beispielsweise eine Rotationsgröße von 1,5 GB angeben.

**`maxFilesToKeep`**  
Der `maxFilesToKeep`-Parameter gibt die maximale Anzahl von Dateien an, die nach der Rotation im Container aufbewahrt werden sollen. Der kleinste Wert ist 1 und der größte Wert ist 50.

Sie können diese Parameter im `monitoringConfiguration`-Abschnitt der `StartJobRun`-API angeben, wie das folgende Beispiel zeigt. In diesem Beispiel rotiert Amazon EMR in EKS Ihre Protokolle mit `rotationSize = "10 MB"` und `maxFilesToKeep = 3` um 10 MB, generiert eine neue Protokolldatei und löscht dann die älteste Protokolldatei, sobald die Anzahl der Protokolldateien 3 erreicht.

```
{
  "name": "my-long-running-job", 
  "virtualClusterId": "123456",  
  "executionRoleArn": "iam_role_name_for_job_execution", 
  "releaseLabel": "emr-6.11.0-latest", 
  "jobDriver": {
    "sparkSubmitJobDriver": {
      "entryPoint": "entryPoint_location",
      "entryPointArguments": ["argument1", "argument2", ...],  
       "sparkSubmitParameters": "--class main_class --conf spark.executor.instances=2 --conf spark.executor.memory=2G --conf spark.executor.cores=2 --conf spark.driver.cores=1"
    }
  }, 
  "configurationOverrides": {
    "applicationConfiguration": [
      {
        "classification": "spark-defaults", 
        "properties": {
          "spark.driver.memory":"2G"
         }
      }
    ], 
    "monitoringConfiguration": {
      "persistentAppUI": "ENABLED", 
      "cloudWatchMonitoringConfiguration": {
        "logGroupName": "my_log_group", 
        "logStreamNamePrefix": "log_stream_prefix"
      }, 
      "s3MonitoringConfiguration": {
        "logUri": "s3://my_s3_log_location"
      },
      "containerLogRotationConfiguration": {
        "rotationSize":"10MB",
        "maxFilesToKeep":"3"
      }
    }
  }
}
```

Um eine Auftragsausführung mit der Spark-Container-Protokollrotation zu starten, geben Sie im Befehl einen Pfad zu der JSON-Datei an, die Sie mit diesen Parametern in [`StartJobRun`](emr-eks-jobs-submit.md) konfiguriert haben.

```
aws emr-containers start-job-run \
--cli-input-json file://path-to-json-request-file
```