

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.

# Die Verwaltung von Jobläufen erfolgt mit dem AWS CLI
<a name="emr-eks-jobs-CLI"></a>

In diesem Thema wird beschrieben, wie Jobläufe mit dem AWS Command Line Interface (AWS CLI) verwaltet werden. Es geht detailliert auf Eigenschaften wie Sicherheitsparameter, den Treiber und verschiedene Override-Einstellungen ein. Es enthält auch Unterthemen, die verschiedene Möglichkeiten zur Konfiguration der Protokollierung behandeln.

**Topics**
+ [Optionen für die Konfiguration einer Aufgabenausführung](#emr-eks-jobs-parameters)
+ [Eine Aufgabenausführung für die Verwendung von Amazon-S3-Protokollen konfigurieren](emr-eks-jobs-s3.md)
+ [Einen Joblauf für die Verwendung von Amazon CloudWatch Logs konfigurieren](emr-eks-jobs-cloudwatch.md)
+ [Aufgabenausführungen auflisten](#emr-eks-jobs-list)
+ [Eine Aufgabenausführung beschreiben](#emr-eks-jobs-describe)
+ [Eine Aufgabenausführung abbrechen](#emr-eks-jobs-cancel)

## Optionen für die Konfiguration einer Aufgabenausführung
<a name="emr-eks-jobs-parameters"></a>

Verwenden Sie die folgenden Optionen, um die Aufgaben-Ausführungsparameter zu konfigurieren:
+ `--execution-role-arn`: Sie müssen eine IAM-Rolle angeben, die für die Ausführung von Aufgaben verwendet wird. Weitere Informationen finden Sie unter [Auftragausführungsrollen mit Amazon EMR in EKS verwenden](iam-execution-role.md). 
+ `--release-label`: Sie können Amazon EMR in EKS mit den Amazon-EMR-Versionen 5.32.0 und 6.2.0 und höher bereitstellen. Amazon EMR in EKS wird in früheren Amazon-EMR-Release-Versionen nicht unterstützt. Weitere Informationen finden Sie unter [Versionen von Amazon EMR in EKS](emr-eks-releases.md). 
+ `--job-driver`: Der Auftrag-Treiber wird verwendet, um Eingaben für die Hauptaufgabe bereitzustellen. Dies ist ein Feld vom Typ Union, in das Sie nur einen der Werte für den Aufgabentyp übergeben können, den Sie ausführen möchten. Unterstützte Aufgabentypen sind:
  + Spark-Submit-Aufgaben - Wird verwendet, um einen Befehl über Spark-Submit auszuführen. Sie können diesen Jobtyp verwenden, um Scala, SparkR PySpark, SparkSQL und alle anderen unterstützten Jobs über Spark Submit auszuführen. Dieser Aufgabentyp hat die folgenden Parameter:
    + Entrypoint — Dies ist der HCFS-Verweis (Hadoop Compatible File System) auf die Hauptdatei, die Sie ausführen möchten. jar/py 
    + EntryPointArguments - Dies ist eine Reihe von Argumenten, die Sie an Ihre Hauptdatei übergeben möchten. jar/py Sie sollten das Lesen dieser Parameter mit Ihrem Einstiegspunkt-Code regeln. Jedes Argument im Array sollte durch ein Komma getrennt werden. EntryPointArguments darf keine Klammern oder Klammern enthalten, z. B. (), \$1\$1 oder []. 
    + SparkSubmitParameters - Dies sind die zusätzlichen Spark-Parameter, die Sie an den Job senden möchten. Verwenden Sie diesen Parameter, um Spark-Standardeigenschaften wie Treiberspeicher oder Anzahl der Ausführer wie -conf oder -class zu überschreiben. Weitere Informationen finden Sie unter [Starten von Anwendungen mit Spark-Submit](https://spark.apache.org/docs/latest/submitting-applications.html#launching-applications-with-spark-submit).
  + Spark-SQL-Aufträge – Wird verwendet, um eine SQL-Abfragedatei über Spark SQL auszuführen. Sie können diesen Auftragtyp verwenden, um SparkSQL-Aufträge auszuführen. Dieser Aufgabentyp hat die folgenden Parameter:
    + Einstiegspunkt – Dies ist der HCFS-Verweis (Hadoop Compatible File System) auf die SQL-Abfragedatei, die Sie ausführen möchten.

      Eine Liste zusätzlicher Spark-Parameter, die Sie für einen Spark-SQL-Auftrag verwenden können, finden Sie unter [StartJobRun Spark-SQL-Skripts über die API ausführen](emr-eks-jobs-spark-sql-parameters.md).
+ `--configuration-overrides`: Sie können die Standardkonfigurationen für die Anwendungen überschreiben, indem Sie ein Konfigurationsobjekt angeben. Sie können eine Syntax-Kurznotation verwenden, um die Konfiguration anzugeben oder Sie können auf die Konfiguration in einer JSON-Datei zu verweisen. Konfigurationsobjekte bestehen aus einer Klassifizierung, Eigenschaften und optionalen verschachtelten Konfigurationen. Eigenschaften bestehen aus den Einstellungen, die Sie in dieser Datei überschreiben möchten. Sie können mehrere Klassifizierungen für mehrere Anwendungen in einem einzigen JSON-Objekt angeben. Die verfügbaren Konfigurationsklassifizierungen variieren je nach Amazon-EMR-Version. Eine Liste der Konfigurationsklassifizierungen, die für jede Version von Amazon EMR verfügbar sind, finden Sie unter [Versionen von Amazon EMR in EKS](emr-eks-releases.md).

  Wenn Sie dieselbe Konfiguration in einer Anwendungsüberschreibung und in den Spark-Submit-Parametern übergeben, haben die Spark-Submit-Parameter Vorrang. Es folgt die vollständige Liste der Konfigurationsprioritäten, in der Reihenfolge von höchster Priorität bis niedrigster Priorität.
  + Konfiguration, die bei der Erstellung von `SparkSession` angegeben wurde.
  + Die Konfiguration wurde im Rahmen der `sparkSubmitParameters` unter `—conf`-Verwendung bereitgestellt.
  + Konfiguration, die im Rahmen von Anwendungsüberschreibungen bereitgestellt wird.
  + Optimierte Konfigurationen, die von Amazon EMR für die Veröffentlichung ausgewählt wurden.
  + Open-Source-Standardkonfigurationen für die Anwendung.

  Um Auftragsausführungen mit Amazon CloudWatch oder Amazon S3 zu überwachen, müssen Sie die Konfigurationsdetails für angeben CloudWatch. Weitere Informationen erhalten Sie unter [Eine Aufgabenausführung für die Verwendung von Amazon-S3-Protokollen konfigurieren](emr-eks-jobs-s3.md) und [Einen Joblauf für die Verwendung von Amazon CloudWatch Logs konfigurieren](emr-eks-jobs-cloudwatch.md). Wenn der S3-Bucket oder die CloudWatch Protokollgruppe nicht existiert, erstellt Amazon EMR sie, bevor die Protokolle in den Bucket hochgeladen werden.
+ Eine zusätzliche Liste der Kubernetes-Konfigurationsoptionen finden Sie unter [Spark-Eigenschaften auf Kubernetes.](https://spark.apache.org/docs/latest/running-on-kubernetes.html#configuration) 

  Die folgenden Spark-Konfigurationen werden nicht unterstützt.
  + `spark.kubernetes.authenticate.driver.serviceAccountName`
  + `spark.kubernetes.authenticate.executor.serviceAccountName`
  + `spark.kubernetes.namespace`
  + `spark.kubernetes.driver.pod.name`
  + `spark.kubernetes.container.image.pullPolicy`
  + `spark.kubernetes.container.image`
**Anmerkung**  
Sie können `spark.kubernetes.container.image` für benutzerdefinierte Docker-Images verwenden. Weitere Informationen finden Sie unter [Anpassen von Docker-Images für Amazon EMR in EKS](docker-custom-images.md).

# Eine Aufgabenausführung für die Verwendung von Amazon-S3-Protokollen konfigurieren
<a name="emr-eks-jobs-s3"></a>

Um den Auftragsfortschritt überwachen und Fehler beheben zu können, müssen Sie Ihre Jobs so konfigurieren, dass Protokollinformationen an Amazon S3, Amazon CloudWatch Logs oder beide gesendet werden. Dieses Thema hilft Ihnen bei den ersten Schritten beim Veröffentlichen von Anwendungsprotokollen in Amazon S3 für Ihre Aufträge, die mit Amazon EMR in EKS gestartet wurden.

**S3 protokolliert die IAM-Richtlinie**

Bevor Ihre Aufträge Protokolldaten an Amazon S3 senden können, müssen die folgenden Berechtigungen in der Berechtigungsrichtlinie für die Auftragausführungsrolle enthalten sein. *amzn-s3-demo-logging-bucket*Ersetzen Sie es durch den Namen Ihres Logging-Buckets.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket",
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Sid": "AllowS3Putobject"
    }
  ]
}
```

------

**Anmerkung**  
Amazon EMR in EKS kann auch einen Amazon-S3-Bucket erstellen. Wenn ein Amazon-S3-Bucket nicht verfügbar ist, nehmen Sie die `“s3:CreateBucket”`-Erlaubnis in die IAM-Richtlinie auf.

Nachdem Sie Ihrer Ausführungsrolle die entsprechenden Berechtigungen zum Senden von Protokollen an Amazon S3 erteilt haben, werden Ihre Protokolldaten an die folgenden Amazon-S3-Speicherorte gesendet, wenn `s3MonitoringConfiguration` im `monitoringConfiguration` Abschnitt einer `start-job-run`-Anforderung übergeben werden, wie unter [Die Verwaltung von Jobläufen erfolgt mit dem AWS CLI](emr-eks-jobs-CLI.md) beschrieben.
+ Protokolle des Absenders —//*virtual-cluster-id*/jobs/ /containers/*logUri*/(stderr.gz/stdout.gz*job-id*) *pod-name*
+ Treiberprotokolle -//*logUri**virtual-cluster-id*/jobs/ *job-id* /containers/ /spark- *spark-application-id* -driver/ *job-id* (stderr.gz/stdout.gz)
+ Ausführungsprotokolle -/*logUri*/*virtual-cluster-id*/jobs/ *job-id* /containers//*executor-pod-name*/(*spark-application-id*stderr.gz/stdout.gz)

# Einen Joblauf für die Verwendung von Amazon CloudWatch Logs konfigurieren
<a name="emr-eks-jobs-cloudwatch"></a>

Um den Auftragsfortschritt zu überwachen und Fehler zu beheben, müssen Sie Ihre Jobs so konfigurieren, dass Protokollinformationen an Amazon S3, Amazon CloudWatch Logs oder beide gesendet werden. Dieses Thema hilft Ihnen bei den ersten Schritten mit der Verwendung von CloudWatch Logs für Ihre Jobs, die mit Amazon EMR auf EKS gestartet werden. Weitere Informationen zu CloudWatch Protokollen finden Sie unter [Überwachung von Protokolldateien](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) im CloudWatch Amazon-Benutzerhandbuch.

**CloudWatch Protokolliert die IAM-Richtlinie**

Damit Ihre Jobs Protokolldaten an CloudWatch Logs senden können, müssen die folgenden Berechtigungen in der Berechtigungsrichtlinie für die Jobausführungsrolle enthalten sein. Ersetzen Sie *my\$1log\$1group\$1name* und *my\$1log\$1stream\$1prefix* durch die Namen Ihrer CloudWatch Protokollgruppe bzw. die Namen der Protokolldatenströme. Amazon EMR in EKS erstellt die Protokollgruppe und den Protokollstream, falls sie nicht existieren, solange der ARN für die Ausführungsrolle über die entsprechenden Berechtigungen verfügt. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "arn:aws:logs:*:*:*"
      ],
      "Sid": "AllowLOGSCreatelogstream"
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:PutLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:my_log_group_name:log-stream:my_log_stream_prefix/*"
      ],
      "Sid": "AllowLOGSPutlogevents"
    }
  ]
}
```

------

**Anmerkung**  
Amazon EMR in EKS kann auch einen Protokollstream erstellen. Wenn kein Protokollstream vorhanden ist, sollte die IAM-Richtlinie die `"logs:CreateLogGroup"` Genehmigung enthalten.

Nachdem Sie Ihrer Ausführungsrolle die entsprechenden Berechtigungen erteilt haben, sendet Ihre Anwendung ihre Protokolldaten an CloudWatch Logs, wenn sie `cloudWatchMonitoringConfiguration` im `monitoringConfiguration` Abschnitt einer `start-job-run` Anforderung übergeben werden, wie unter beschrieben[Die Verwaltung von Jobläufen erfolgt mit dem AWS CLI](emr-eks-jobs-CLI.md).

In der `StartJobRun` API *log\$1group\$1name * ist dies der Name der Protokollgruppe für CloudWatch und *log\$1stream\$1prefix* das Präfix für den Protokollstreamnamen CloudWatch. Sie können diese Protokolle in der AWS-Managementkonsole anzeigen und durchsuchen.
+ Protokolle des Absenders —*logGroup*//*virtual-cluster-id*/jobs/ *logStreamPrefix* /containers//(stderr/stdout*job-id*) *pod-name*
+ Treiberprotokolle -*logGroup*//*logStreamPrefix**virtual-cluster-id*/jobs/ *job-id* /containers/ /spark- *spark-application-id* *job-id* -driver/ (stderrstdout)
+ Ausführungsprotokolle -*logGroup*/*logStreamPrefix*/*virtual-cluster-id*/jobs/ *job-id* /containers//*executor-pod-name*/*spark-application-id*(stderr/stdout)

## Aufgabenausführungen auflisten
<a name="emr-eks-jobs-list"></a>

Sie können `list-job-run` ausführen, um den Status der Aufgabenausführungen anzuzeigen, wie das folgende Beispiel zeigt. 

```
aws emr-containers list-job-runs --virtual-cluster-id <cluster-id>
```

## Eine Aufgabenausführung beschreiben
<a name="emr-eks-jobs-describe"></a>

Sie können `describe-job-run` ausführen, um weitere Informationen über die Aufgabe abzurufen, z. B. den Status, die Statusdetails und den Aufgabennamen, wie das folgende Beispiel zeigt. 

```
aws emr-containers describe-job-run --virtual-cluster-id cluster-id --id job-run-id
```

## Eine Aufgabenausführung abbrechen
<a name="emr-eks-jobs-cancel"></a>

Sie können `cancel-job-run` ausführen, um laufende Aufträge abzubrechen, wie das folgende Beispiel zeigt.

```
aws emr-containers cancel-job-run --virtual-cluster-id cluster-id --id job-run-id
```