View a markdown version of this page

Spark-Anwendungsprotokolle - 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.

Spark-Anwendungsprotokolle

Sie können diese Konfiguration folgendermaßen definieren.

apiVersion: "sparkoperator.k8s.io/v1beta2" kind: SparkApplication metadata: name: spark-pi namespace: namespace spec: type: Scala mode: cluster imagePullPolicy: Always mainClass: org.apache.spark.examples.SparkPi mainApplicationFile: "local:///usr/lib/spark/examples/jars/spark-examples.jar" sparkVersion: "3.3.1" emrReleaseLabel: emr_release_label executionRoleArn: job_execution_role_arn restartPolicy: type: Never volumes: - name: "test-volume" hostPath: path: "/tmp" type: Directory driver: cores: 1 coreLimit: "1200m" memory: "512m" labels: version: 3.3.1 volumeMounts: - name: "test-volume" mountPath: "/tmp" executor: cores: 1 instances: 1 memory: "512m" labels: version: 3.3.1 volumeMounts: - name: "test-volume" mountPath: "/tmp" monitoringConfiguration: image: "log_agent_image" s3MonitoringConfiguration: logUri: "S3_bucket_uri" cloudWatchMonitoringConfiguration: logGroupName: "log_group_name" logStreamNamePrefix: "log_stream_prefix" sideCarResources: limits: cpuLimit: "500m" memoryLimit: "250Mi" containerLogRotationConfiguration: rotationSize: "2GB" maxFilesToKeep: "10"

Im Folgenden sind die verfügbaren Konfigurationsoptionen unter MonitoringConfiguration aufgeführt.

  • Bild (optional) — Die Bild-URL des Agenten protokollieren. Wird von emr abgerufen, ReleaseLabel falls nicht angegeben.

  • s3 MonitoringConfiguration — Stellen Sie diese Option ein, um auf Amazon S3 zu archivieren.

    • logURI (erforderlich) — Der Amazon S3 S3-Bucket-Pfad, in dem Sie Ihre Protokolle speichern möchten. Das erste Beispiel zeigt, dass keine Protokollrotation aktiviert ist:

      s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout.gz s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr.gz

      Die Protokollrotation ist standardmäßig aktiviert. Sie können sowohl eine rotierte Datei (mit inkrementierendem Index) als auch eine aktuelle Datei (eine Datei ohne Datumsstempel) verwenden.

      s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout_YYYYMMDD_index.gz s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr_YYYYMMDD_index.gz
  • cloud WatchMonitoringConfiguration — Der Konfigurationsschlüssel, zu dem die Weiterleitung eingerichtet werden sollAmazon CloudWatch.

    • log GroupName (erforderlich) — Der Name der Cloudwatch-Protokollgruppe, an die Sie Protokolle senden möchten. Die Gruppe wird automatisch erstellt, falls sie nicht existiert.

    • log StreamNamePrefix (optional) — Der Name des Log-Streams, in den Sie Logs senden möchten. Der Standardwert ist eine leere Zeichenfolge. Das Format in CloudWatch lautet wie folgt:

      ${logStreamNamePrefix}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout ${logStreamNamePrefix}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr
  • side CarResources (optional) — Der Konfigurationsschlüssel zum Festlegen von Ressourcenlimits für den gestarteten Fluentd-Sidecar-Container.

    • memoryLimit (optional) — Das Speicherlimit. Passen Sie ihn entsprechend Ihren Anforderungen an. Die Standardeinstellung ist 250 Mi.

    • cpuLimit — Das CPU-Limit. Passen Sie ihn entsprechend Ihren Anforderungen an. Die Standardeinstellung ist 500 m.

  • container LogRotationConfiguration (optional) — Steuert das Rotationsverhalten des Container-Logs. Sie ist standardmäßig aktiviert.

    • RotationSize (erforderlich) — Gibt die Dateigröße für die Protokollrotation an. Der Bereich der möglichen Werte ist von 2 KB bis 2 GB. Die numerische Einheit des rotationSize-Parameters wird als Ganzzahl übergeben. Da Dezimalwerte nicht unterstützt werden, können Sie mit dem Wert 1 500 MB beispielsweise eine Rotationsgröße von 1,5 GB angeben. Der Standardwert ist 2 GB.

    • max FilesToKeep (erforderlich) — Gibt die maximale Anzahl von Dateien an, die nach der Rotation im Container aufbewahrt werden sollen. Der minimale Wert beträgt 1. Der Höchstwert ist 50. Der Standardwert ist 10.

Nach der Konfiguration von MonitoringConfiguration sollten Sie in der Lage sein, Ihre Spark-Anwendungstreiber- und Executor-Protokolle in einem Amazon S3 S3-Bucket oder in beiden zu überprüfen. CloudWatch Bei einem Amazon S3 S3-Bucket müssen Sie 2 Minuten warten, bis die erste Protokolldatei geleert ist. In Amazon S3 sieht der Bucket-Pfad beispielsweise wie folgt aus:

Amazon S3 > Eimer > > Bucket name> Spark application name - UUID Pod Name > stderr.gz

Oder:

Amazon S3 > Eimer > > Bucket name> Spark application name - UUID Pod Name > stdout.gz

CloudWatchIn sieht der Pfad wie folgt aus:

CloudWatch> Protokollgruppen > Log group name>Spark application name - UUID/Pod name/stderr

Oder:

CloudWatch> Protokollgruppen > >/Log group name/stdout Spark application name - UUID Pod name