

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Gestion des exécutions de tâches sur Amazon EMR on EKS
<a name="emr-eks-jobs-manage"></a>

Les sections suivantes couvrent des sujets qui vous aident à gérer vos exécutions de tâches Amazon EMR on EKS. Il s'agit notamment de configurer les paramètres d'exécution des tâches lorsque vous utilisez le AWS CLI, de configurer le mode de stockage des données de vos journaux, d'exécuter des scripts Spark SQL pour exécuter des requêtes, de comprendre les états d'exécution des tâches et de savoir comment surveiller les tâches. Vous pouvez parcourir ces rubriques, généralement dans l'ordre, si vous souhaitez configurer et terminer une exécution de travail pour traiter des données.

**Topics**
+ [Gérer les exécutions de tâches à l'aide du AWS CLI](emr-eks-jobs-CLI.md)
+ [Exécution de scripts Spark SQL via l' StartJobRun API](emr-eks-jobs-spark-sql-parameters.md)
+ [États d'exécution de la tâche](emr-eks-jobs-states.md)
+ [Affichage des tâches dans la console Amazon EMR](emr-eks-jobs-console.md)
+ [Erreurs courantes lors de l'exécution de tâches](emr-eks-jobs-error.md)

# Gérer les exécutions de tâches à l'aide du AWS CLI
<a name="emr-eks-jobs-CLI"></a>

Cette rubrique explique comment gérer les exécutions de tâches avec le AWS Command Line Interface (AWS CLI). Il décrit en détail les propriétés, telles que les paramètres de sécurité, le pilote et les divers paramètres de remplacement. Il inclut également des sous-rubriques qui couvrent les différentes manières de configurer la journalisation.

**Topics**
+ [Options de configuration d'une exécution de tâche](#emr-eks-jobs-parameters)
+ [Configuration d'une exécution de tâche pour utiliser les journaux Amazon S3](emr-eks-jobs-s3.md)
+ [Configurer une tâche exécutée pour utiliser Amazon CloudWatch Logs](emr-eks-jobs-cloudwatch.md)
+ [Liste des exécutions de tâches](#emr-eks-jobs-list)
+ [Description d'une exécution de tâche](#emr-eks-jobs-describe)
+ [Annulation d'une exécution de tâche](#emr-eks-jobs-cancel)

## Options de configuration d'une exécution de tâche
<a name="emr-eks-jobs-parameters"></a>

Utilisez les options suivantes pour configurer les paramètres d'exécution des tâches :
+ `--execution-role-arn` : vous devez indiquer un rôle IAM utilisé pour exécuter des tâches. Pour de plus amples informations, veuillez consulter [Utilisation des rôles d'exécution de tâches avec Amazon EMR on EKS](iam-execution-role.md). 
+ `--release-label` : vous pouvez déployer Amazon EMR on EKS à l'aide d'Amazon EMR en version 5.32.0 et 6.2.0 ou ultérieure. Amazon EMR on EKS n'est pas pris en charge dans les versions précédentes d'Amazon EMR. Pour de plus amples informations, veuillez consulter [Versions Amazon EMR on EKS](emr-eks-releases.md). 
+ `--job-driver` : le pilote de tâche est utilisé pour fournir des informations sur la tâche principale. Il s'agit d'un champ de type union dans lequel vous ne pouvez transmettre qu'une seule des valeurs correspondant au type de tâche que vous souhaitez exécuter. Les types de tâches prises en charge incluent :
  + Tâches de soumission Spark : utilisées pour exécuter une commande via la soumission Spark. Vous pouvez utiliser ce type de tâche pour exécuter Scala, SparkR PySpark, SparkSQL et toute autre tâche prise en charge par le biais de Spark Submit. Ce type de tâche a les paramètres suivants :
    + Point d'entrée : il s'agit de la référence HCFS (système de fichiers compatible Hadoop) au jar/py fichier principal que vous souhaitez exécuter.
    + EntryPointArguments - Il s'agit d'un tableau d'arguments que vous souhaitez transmettre à votre jar/py fichier principal. Vous devez gérer la lecture de ces paramètres à l'aide de votre code entrypoint. Chaque argument du tableau doit être séparé par une virgule. EntryPointArguments ne peut pas contenir de crochets ou de parenthèses, tels que (), \$1\$1 ou []. 
    + SparkSubmitParameters - Il s'agit des paramètres Spark supplémentaires que vous souhaitez envoyer à la tâche. Utilisez ce paramètre pour remplacer les propriétés Spark par défaut, telles que la mémoire du pilote ou le nombre d'exécuteurs tels que —conf ou —class. Pour plus d'informations, consultez la rubrique [Lancement d'applications à l'aide de spark-submit](https://spark.apache.org/docs/latest/submitting-applications.html#launching-applications-with-spark-submit).
  + Tâches SQL Spark : utilisées pour exécuter un fichier de requête SQL via Spark SQL. Vous pouvez utiliser ce type de tâche pour exécuter des tâches Spark SQL. Ce type de tâche a les paramètres suivants :
    + Entrypoint : c'est la référence HCFS (système de fichiers compatible Hadoop) au fichier de requête SQL que vous souhaitez exécuter.

      Pour obtenir la liste des paramètres Spark supplémentaires que vous pouvez utiliser pour une tâche Spark SQL, consultez [Exécution de scripts Spark SQL via l' StartJobRun API](emr-eks-jobs-spark-sql-parameters.md).
+ `--configuration-overrides` : vous pouvez remplacer les configurations par défaut des applications en fournissant un objet de configuration. Vous pouvez utiliser une syntaxe abrégée pour fournir la configuration, ou vous pouvez faire référence à l'objet de configuration dans un fichier JSON. Les objets de configuration sont composés d'une classification, de propriétés et de configurations imbriquées en option. Les propriétés sont les paramètres que vous souhaitez remplacer dans ce fichier. Vous pouvez spécifier plusieurs classifications pour plusieurs applications d'un seul objet JSON. Les classifications de configuration qui sont disponibles varient d'une version d'Amazon EMR à l'autre. Pour obtenir une liste des classifications de configurations disponibles pour chaque version d'Amazon EMR, consultez [Versions Amazon EMR on EKS](emr-eks-releases.md).

  Si vous transmettez la même configuration dans un remplacement d'application et dans les paramètres de soumission Spark, les paramètres de soumission  Spark auront la priorité. La liste complète des priorités de configuration suit, de la priorité la plus élevée à la plus faible.
  + Configuration fournie lors de la création de `SparkSession`.
  + Configuration fournie dans le cadre de `sparkSubmitParameters` en utilisant `—conf`.
  + Configuration fournie dans le cadre des remplacements d'applications.
  + Configurations optimisées choisies par Amazon EMR pour la version.
  + Configurations open-source par défaut pour l'application.

  Pour surveiller les exécutions de tâches à l'aide d'Amazon CloudWatch ou d'Amazon S3, vous devez fournir les détails de configuration pour CloudWatch. Pour plus d’informations, consultez [Configuration d'une exécution de tâche pour utiliser les journaux Amazon S3](emr-eks-jobs-s3.md) et [Configurer une tâche exécutée pour utiliser Amazon CloudWatch Logs](emr-eks-jobs-cloudwatch.md). Si le compartiment ou le groupe de CloudWatch journaux S3 n'existe pas, Amazon EMR le crée avant de télécharger les journaux dans le compartiment.
+ Pour une liste supplémentaire d'options de configuration Kubernetes, consultez la rubrique [Propriétés Spark sur Kubernetes](https://spark.apache.org/docs/latest/running-on-kubernetes.html#configuration). 

  Les configurations Spark suivantes ne sont pas prises en charge.
  + `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`
**Note**  
Vous pouvez utiliser `spark.kubernetes.container.image` pour personnaliser les images Docker. Pour de plus amples informations, veuillez consulter [Personnalisation d'images Docker pour Amazon EMR on EKS](docker-custom-images.md).

# Configuration d'une exécution de tâche pour utiliser les journaux Amazon S3
<a name="emr-eks-jobs-s3"></a>

Pour être en mesure de suivre l'avancement des tâches et de résoudre les problèmes d'échec, vous devez configurer vos tâches de manière à envoyer des informations de journal à Amazon S3, Amazon CloudWatch Logs ou aux deux. Cette rubrique vous aide à commencer à publier des journaux d'application sur Amazon S3 pour vos tâches lancées à l'aide d'Amazon EMR on EKS.

**Politique IAM des journaux S3**

Pour que vos tâches puissent envoyer des données de journal à Amazon S3, les autorisations suivantes doivent être incluses dans la politique d'autorisations du rôle d'exécution des tâches. *amzn-s3-demo-logging-bucket*Remplacez-le par le nom de votre bucket de journalisation.

------
#### [ 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"
    }
  ]
}
```

------

**Note**  
Amazon EMR on EKS peut également créer un compartiment Amazon S3. Si aucun compartiment Amazon S3 n'est disponible, incluez l'autorisation `“s3:CreateBucket”` dans la politique IAM.

Une fois que vous avez donné à votre rôle d'exécution les autorisations appropriées pour envoyer des journaux à Amazon S3, les données de vos journaux sont envoyées aux emplacements Amazon S3 suivants lorsque la `s3MonitoringConfiguration` est transmise dans la section `monitoringConfiguration` d'une demande `start-job-run`, comme indiqué dans [Gérer les exécutions de tâches à l'aide du AWS CLI](emr-eks-jobs-CLI.md).
+ Journaux des soumissionnaires -//*virtual-cluster-id*/jobs/ /containers/*logUri*/(*job-id*stderr.gz/stdout.gz) *pod-name*
+ Journaux de pilotes -//*virtual-cluster-id*/jobs/ *logUri* *job-id* /containers/ /spark- -driver/ (stderr.gz/stdout.gz*spark-application-id*) *job-id*
+ Journaux de l'exécuteur -//*virtual-cluster-id*/jobs/ *logUri* *job-id* /containers///(stderr.gz/stdout.gz*spark-application-id*) *executor-pod-name*

# Configurer une tâche exécutée pour utiliser Amazon CloudWatch Logs
<a name="emr-eks-jobs-cloudwatch"></a>

Pour suivre l'avancement des tâches et résoudre les problèmes d'échec, vous devez configurer vos tâches de manière à envoyer des informations de journal à Amazon S3, Amazon CloudWatch Logs ou aux deux. Cette rubrique vous aide à commencer à utiliser CloudWatch les journaux sur vos tâches lancées avec Amazon EMR sur EKS. Pour plus d'informations sur CloudWatch les journaux, consultez la section [Surveillance des fichiers journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) dans le guide de CloudWatch l'utilisateur Amazon.

**CloudWatch Politique IAM des journaux**

Pour que vos tâches envoient des données de journal à CloudWatch Logs, les autorisations suivantes doivent être incluses dans la politique d'autorisation relative au rôle d'exécution des tâches. Remplacez *my\$1log\$1group\$1name* et *my\$1log\$1stream\$1prefix* par les noms de votre groupe de CloudWatch journaux et les noms de vos flux de journaux, respectivement. Amazon EMR on EKS crée le groupe de journaux et le flux de journaux s'ils n'existent pas, à condition que l'ARN du rôle d'exécution dispose des autorisations appropriées. 

------
#### [ 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"
    }
  ]
}
```

------

**Note**  
Amazon EMR on EKS peut également créer un flux de journaux. S'il n'existe pas de flux de journaux, la politique IAM doit inclure l'autorisation `"logs:CreateLogGroup"`.

Une fois que vous avez accordé les autorisations appropriées à votre rôle d'exécution, votre application envoie ses données de journal à CloudWatch Logs lorsqu'elles `cloudWatchMonitoringConfiguration` sont transmises dans la `monitoringConfiguration` section d'une `start-job-run` demande, comme indiqué dans[Gérer les exécutions de tâches à l'aide du AWS CLI](emr-eks-jobs-CLI.md).

Dans l'`StartJobRun`API, *log\$1group\$1name * il s'agit du nom du groupe de journaux pour CloudWatch et *log\$1stream\$1prefix* du préfixe du nom du flux de journaux pour CloudWatch. Vous pouvez afficher et y faire des recherches dans la AWS Management Console.
+ Journaux de l'expéditeur -*logGroup*//*virtual-cluster-id*/jobs/ *logStreamPrefix* /containers//(*job-id*stderr/stdout) *pod-name*
+ Journaux de pilotes -*logGroup*//*virtual-cluster-id*/jobs/ *logStreamPrefix* *job-id* /containers/ /spark- -driver/ (stderrstdout*spark-application-id*) *job-id*
+ Journaux de l'exécuteur -*logGroup*//*virtual-cluster-id*/jobs/ *logStreamPrefix* *job-id* /containers///(*spark-application-id*stderr/stdout) *executor-pod-name*

## Liste des exécutions de tâches
<a name="emr-eks-jobs-list"></a>

Vous pouvez exécuter `list-job-run` pour afficher l'état des exécutions de tâches, comme le montre l'exemple ci-dessous. 

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

## Description d'une exécution de tâche
<a name="emr-eks-jobs-describe"></a>

Vous pouvez exécuter `describe-job-run` pour obtenir plus de détails sur la tâche, tels que l'état de la tâche, les détails de l'état et le nom de la tâche, comme le montre l'exemple ci-dessous. 

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

## Annulation d'une exécution de tâche
<a name="emr-eks-jobs-cancel"></a>

Vous pouvez exécuter `cancel-job-run` pour annuler des tâches en cours d'exécution, comme le montre l'exemple ci-dessous.

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

# Exécution de scripts Spark SQL via l' StartJobRun API
<a name="emr-eks-jobs-spark-sql-parameters"></a>

Les versions 6.7.0 et ultérieures d'Amazon EMR on EKS comprennent un pilote de tâche Spark SQL qui vous permet d'exécuter des scripts Spark SQL via l'API `StartJobRun`. Vous pouvez fournir des fichiers de points d'entrée SQL pour exécuter directement des requêtes Spark SQL sur Amazon EMR on EKS à l'aide de l'API `StartJobRun`, sans aucune modification des scripts Spark SQL existants. Le tableau suivant répertorie les paramètres Spark pris en charge pour les tâches SQL Spark via l' StartJobRun API.

Vous pouvez choisir parmi les paramètres Spark suivants à envoyer à une tâche SQL Spark. Utilisez ces paramètres pour remplacer les propriétés Spark par défaut.


| Option | Description | 
| --- | --- | 
|  --name NOM  | Nom de l'application | 
| --jars fichiers JAR | Liste des fichiers JAR, séparés par des virgules, à inclure dans le chemin de classe du pilote et de l'exécuteur. | 
| --packages | Liste des coordonnées Maven des fichiers JAR, séparées par des virgules, à inclure dans les chemins de classe du pilote et de l'exécuteur. | 
| --exclude-packages | Liste des groupId:artifactId, séparés par des virgules, à exclure lors de la résolution des dépendances fournies dans –packages afin d'éviter les conflits de dépendances. | 
| --repositories | Liste des référentiels distants supplémentaires, séparés par des virgules, à rechercher pour les coordonnées maven données fournies –packages. | 
| --files FICHIERS | Liste des fichiers, séparés par des virgules, à placer dans le répertoire de travail de chaque exécuteur. | 
| --conf PROPRIÉTÉ = VALEUR | Propriété de configuration Spark. | 
| --properties-file FICHIER | Chemin d'accès au fichier à partir duquel charger des propriétés supplémentaires. | 
| --driver-memory MEM | Mémoire pour le pilote. Par défaut, 1024 Mo. | 
| --driver-java-options | Options Java supplémentaires à transmettre au pilote. | 
| --driver-library-path | Entrées de chemin de bibliothèque supplémentaires à transmettre au pilote. | 
| --driver-class-path | Entrées de chemin de classe supplémentaires à transmettre au pilote. | 
| --executor-memory MEM | Mémoire par exécuteur. Valeur par défaut : 1 Go. | 
| --driver-cores NUM | Nombre de cœurs utilisés par le pilote. | 
| -- total-executor-cores NOMBRE | Nombre total de cœurs pour tous les exécuteurs. | 
| --executor-cores NUM | Nombre de cœurs utilisés par chaque exécuteur. | 
| --num-executors NUM | Nombre d'exécuteurs à lancer. | 
| -hivevar <key=value> | Substitution de variables à appliquer aux commandes Hive, par exemple, -hivevar A=B | 
| -hiveconf <property=value> | Valeur à utiliser pour la propriété donnée. | 

Pour une tâche SQL Spark, créez un fichier start-job-run-request .json et spécifiez les paramètres requis pour l'exécution de votre tâche, comme dans l'exemple suivant :

```
{
  "name": "myjob", 
  "virtualClusterId": "123456",  
  "executionRoleArn": "iam_role_name_for_job_execution", 
  "releaseLabel": "emr-6.7.0-latest", 
  "jobDriver": {
    "sparkSqlJobDriver": {
      "entryPoint": "entryPoint_location",
       "sparkSqlParameters": "--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"
      }
    }
  }
}
```

# États d'exécution de la tâche
<a name="emr-eks-jobs-states"></a>

Lorsque vous envoyez une tâche à une file d'attente de tâches Amazon EMR on EKS, l'exécution de la tâche passe à l'état `PENDING`. Elle passe ensuite par les états suivants jusqu'à ce qu'elle réussisse (se termine avec le code `0`) ou qu'elle échoue (se termine avec un code non nul). 

Les exécutions de tâches peuvent avoir les états suivants :
+ `PENDING` : état initial de la tâche lorsque l'exécution de tâche est soumise à Amazon EMR on EKS. La tâche attend d'être soumise au cluster virtuel, et Amazon EMR on EKS travaille à la soumission de cette tâche.
+ `SUBMITTED` : une exécution de tâche qui a été soumise avec succès au cluster virtuel. Le planificateur de cluster essaie ensuite d'exécuter cette tâche sur le cluster.
+ `RUNNING` : une tâche exécutée dans le cluster virtuel. Dans les applications Spark, cela signifie que le processus du pilote Spark est en état `running`.
+ `FAILED` : une exécution de tâche qui n'a pas pu être soumise au cluster virtuel ou qui s'est terminée sans succès. Regardez StateDetails et trouvez FailureReason des informations supplémentaires sur cet échec de travail.
+ `COMPLETED` : une exécution de travail qui s'est terminée avec succès.
+ `CANCEL_PENDING` : l'annulation d'une exécution de tâche a été demandée. Amazon EMR on EKS essaie d'annuler la tâche sur le cluster virtuel.
+ `CANCELLED` : une exécution de tâche qui a été annulée avec succès.

# Affichage des tâches dans la console Amazon EMR
<a name="emr-eks-jobs-console"></a>

Les données d'exécution des tâches peuvent être consultées, ce qui vous permet de surveiller chaque tâche au fur et à mesure qu'elle passe par les états. Pour afficher les tâches dans la console Amazon EMR, procédez comme suit.

1. Dans le menu de gauche de la console Amazon EMR, sous Amazon EMR on EKS, choisissez **Clusters virtuels**.

1. Dans la liste des clusters virtuels, sélectionnez le cluster virtuel dont vous souhaitez consulter les tâches.

1. Dans le tableau **Exécutions de tâches**, sélectionnez **Afficher les journaux** pour afficher les détails d'une exécution de tâche.

**Note**  
La prise en charge de l'expérience en un clic est activée par défaut. Elle peut être désactivée en réglant `persistentAppUI` sur `DISABLED` dans `monitoringConfiguration` lors de la soumission des tâches. Pour de plus amples informations, veuillez consulter [Afficher les interfaces utilisateur d'application persistante](https://docs.aws.amazon.com/emr/latest/ManagementGuide/app-history-spark-UI.html).

# Erreurs courantes lors de l'exécution de tâches
<a name="emr-eks-jobs-error"></a>

Les erreurs suivantes peuvent se produire lorsque vous exécutez l'API `StartJobRun`. Le tableau répertorie chaque erreur et fournit des mesures d'atténuation afin que vous puissiez résoudre les problèmes rapidement.


| Message d’erreur | Condition d'erreur | Étapes suivantes recommandées | 
| --- | --- | --- | 
|  erreur : argument -- *argument* est obligatoire  | Les paramètres obligatoires sont manquants. | Ajoutez les arguments manquants à la demande de l'API. | 
| Une erreur s'est produite (AccessDeniedException) lors de l'appel de l' StartJobRunopération : L'utilisateur : n'ARNest pas autorisé à effectuer : emr-containers : StartJobRun | Le rôle d'exécution est manquant. | Consultez la rubrique Utilisation de [Utilisation des rôles d'exécution de tâches avec Amazon EMR on EKS](iam-execution-role.md).  | 
|  Une erreur s'est produite (AccessDeniedException) lors de l'appel de l' StartJobRunopération : L'utilisateur : n'*ARN*est pas autorisé à effectuer : emr-containers : StartJobRun  |  L'appelant n'est pas autorisé à accéder au rôle d'exécution [format valide/non valide] via les clés de condition.  | Consultez [Utilisation des rôles d'exécution de tâches avec Amazon EMR on EKS](iam-execution-role.md).  | 
|  Une erreur s'est produite (AccessDeniedException) lors de l'appel de l' StartJobRunopération : L'utilisateur : n'*ARN*est pas autorisé à effectuer : emr-containers : StartJobRun  |  L'ARN du soumissionnaire de la tâche et celui du rôle d'exécution proviennent de comptes différents.  | Assurez-vous que l'ARN du soumissionnaire de la tâche et celui du rôle d'exécution proviennent du même compte  AWS . | 
|  1 erreur de validation détectée : la valeur *Role* à « executionRoleArn » ne répondait pas au modèle d'expression régulière ARN : ^arn :( aws [a-Za-Z0-9-] \$1) :iam : :( \$1 d \$112\$1) ? : (rôle ((\$1 u002F) \$1 (\$1 u002F [\$1 u0021- \$1 u007F] \$1 \$1 u002F)) [\$1 w\$1=, .@-] \$1)  |  L'appelant dispose d'autorisations pour le rôle d'exécution via des clés de condition, mais le rôle ne satisfait pas aux contraintes du format ARN.  | Indiquez le rôle d'exécution en respectant le format ARN. Consultez [Utilisation des rôles d'exécution de tâches avec Amazon EMR on EKS](iam-execution-role.md).  | 
|  Une erreur s'est produite (ResourceNotFoundException) lors de l'appel de l' StartJobRunopération : Le cluster virtuel *Virtual Cluster ID* n'existe pas.  |  L'identifiant du cluster virtuel est introuvable.  | Indiquez un identifiant de cluster virtuel enregistré dans Amazon EMR on EKS. | 
|  Une erreur s'est produite (ValidationException) lors de l'appel de l' StartJobRunopération : l'état du cluster virtuel n'*state*est pas valide pour créer une ressource JobRun.  |  Le cluster virtuel n'est pas prêt à exécuter la tâche.  | Consultez [États du cluster virtuel](virtual-cluster.md#virtual-cluster-states).  | 
|  Une erreur s'est produite (ResourceNotFoundException) lors de l'appel de l' StartJobRunopération : Release *RELEASE* doesn't exist.  |  La version spécifiée lors de la soumission de la tâche est incorrecte.  | Consultez [Versions Amazon EMR on EKS](emr-eks-releases.md).  | 
|  Une erreur s'est produite (AccessDeniedException) lors de l'appel de l' StartJobRunopération : L'utilisateur : n'*ARN*est pas autorisé à effectuer : emr-containers : StartJobRun on resource : *ARN* avec un refus explicite. Une erreur s'est produite (AccessDeniedException) lors de l'appel de l' StartJobRunopération : L'utilisateur : n'*ARN*est pas autorisé à effectuer : emr-containers : StartJobRun on resource : *ARN*  | L'utilisateur n'est pas autorisé à appeler StartJobRun. | Consultez [Utilisation des rôles d'exécution de tâches avec Amazon EMR on EKS](iam-execution-role.md).  | 
|  Une erreur s'est produite (ValidationException) lors de l'appel de l' StartJobRunopération : ConfigurationOverrides.MonitoringConfiguration.s3 MonitoringConfiguration .LogURI n'a pas réussi à satisfaire la contrainte : %s  |  La syntaxe de l'URI du chemin S3 n'est pas valide.  | logUri doit être au format s3 ://...  | 

Les erreurs suivantes peuvent se produire lorsque vous exécutez l'API `DescribeJobRun` avant les exécutions de tâches.


| Message d’erreur | Condition d'erreur | Étapes suivantes recommandées | 
| --- | --- | --- | 
|  StateDetails : échec JobRun de la soumission.  La classification *classification* n'est pas prise en charge. failureReason : VALIDATION\$1ERROR état : ÉCHEC.  | Les paramètres saisis ne StartJobRun sont pas valides. | Consultez [Versions Amazon EMR on EKS](emr-eks-releases.md).  | 
|  StateDetails : *EKS Cluster ID* Le cluster n'existe pas. failureReason : CLUSTER\$1UNAVAILABLE état : ÉCHEC  | Le cluster EKS n'est pas disponible. | Vérifiez si le cluster EKS existe et dispose des autorisations appropriées. Pour de plus amples informations, veuillez consulter [Configuration d'Amazon EMR on EKS](setting-up.md). | 
|  StateDetails : *EKS Cluster ID* Le cluster ne dispose pas d'autorisations suffisantes. failureReason : CLUSTER\$1UNAVAILABLE état : ÉCHEC  |  Amazon EMR n'est pas autorisé à accéder au cluster EKS.  | Vérifiez que les autorisations sont configurées pour Amazon EMR sur l'espace de noms enregistré. Pour de plus amples informations, veuillez consulter [Configuration d'Amazon EMR on EKS](setting-up.md). | 
|  StateDetails : *EKS Cluster ID* Le cluster n'est actuellement pas accessible. failureReason : CLUSTER\$1UNAVAILABLE état : ÉCHEC  |  Le cluster EKS n'est pas accessible.  | Vérifiez que le cluster EKS existe et qu'il dispose des autorisations appropriées. Pour de plus amples informations, veuillez consulter [Configuration d'Amazon EMR on EKS](setting-up.md). | 
|  StateDetails : JobRun la soumission a échoué en raison d'une erreur interne. failureReason : INTERNAL\$1ERROR état : ÉCHEC  |  Une erreur interne s'est produite avec le cluster EKS.  | N/A | 
|  StateDetails : *EKS Cluster ID* Le cluster ne dispose pas de ressources suffisantes. failureReason : USER\$1ERROR état : ÉCHEC  |  Les ressources du cluster EKS sont insuffisantes pour exécuter la tâche.  | Ajoutez de la capacité au groupe de nœuds EKS ou configurez EKS Autoscaler. Pour plus d'informations, consultez la rubrique [Cluster Autoscaler](https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html). | 

Les erreurs suivantes peuvent se produire lorsque vous exécutez l'API `DescribeJobRun` après les exécutions de tâches.


| Message d’erreur | Condition d'erreur | Étapes suivantes recommandées | 
| --- | --- | --- | 
|  StateDetails : Problème lors de la surveillance de votre. JobRun  *EKS Cluster ID*Le cluster n'existe pas. failureReason : CLUSTER\$1UNAVAILABLE état : ÉCHEC  | Le cluster EKS n'existe pas. | Vérifiez que le cluster EKS existe et qu'il dispose des autorisations appropriées. Pour de plus amples informations, veuillez consulter [Configuration d'Amazon EMR on EKS](setting-up.md). | 
|  StateDetails : Problème lors de la surveillance de votre. JobRun *EKS Cluster ID*Le cluster ne dispose pas d'autorisations suffisantes. failureReason : CLUSTER\$1UNAVAILABLE état : ÉCHEC  | Amazon EMR n'est pas autorisé à accéder au cluster EKS. | Vérifiez que les autorisations sont configurées pour Amazon EMR sur l'espace de noms enregistré. Pour de plus amples informations, veuillez consulter [Configuration d'Amazon EMR on EKS](setting-up.md). | 
|  StateDetails : Problème lors de la surveillance de votre. JobRun *EKS Cluster ID*Le cluster n'est actuellement pas joignable. failureReason : CLUSTER\$1UNAVAILABLE état : ÉCHEC  |  Le cluster EKS n'est pas accessible.  | Vérifiez que le cluster EKS existe et qu'il dispose des autorisations appropriées. Pour de plus amples informations, veuillez consulter [Configuration d'Amazon EMR on EKS](setting-up.md). | 
|  StateDetails : Problème lors de la surveillance de votre JobRun compte en raison d'une erreur interne failureReason : INTERNAL\$1ERROR état : ÉCHEC  |  Une erreur interne s'est produite et empêche la JobRun surveillance.  | N/A | 

L'erreur suivante peut se produire lorsqu'une tâche ne peut pas démarrer et qu'elle reste en attente en état SOUMIS pendant 15 minutes. Cela peut être dû à un manque de ressources du cluster.


| Message d’erreur | Condition d'erreur | Étapes suivantes recommandées | 
| --- | --- | --- | 
|  délai d'expiration du cluster  | La tâche est à l'état SOUMIS depuis 15 minutes ou plus. | Vous pouvez remplacer la valeur par défaut de 15 minutes pour ce paramètre par la configuration ci-dessous.  | 

Utilisez la configuration ci-dessous pour modifier le paramètre de délai d'expiration du cluster à 30 minutes. Notez que vous indiquez la nouvelle valeur `job-start-timeout` en secondes :

```
{
"configurationOverrides": {
  "applicationConfiguration": [{
      "classification": "emr-containers-defaults",
      "properties": {
          "job-start-timeout":"1800"
      }
  }]
}
```