View a markdown version of this page

Comprendre le comportement des applications dans EMR Serverless - Amazon EMR

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.

Comprendre le comportement des applications dans EMR Serverless

Cette section décrit le comportement de soumission des tâches, la configuration des capacités pour le dimensionnement et les paramètres de configuration des travailleurs pour EMR Serverless.

Comportement par défaut des applications

Auto-start— Par défaut, une application est configurée pour démarrer automatiquement lors de la soumission de la tâche. Vous pouvez désactiver cette fonctionnalité.

Auto-stop— Une application est configurée par défaut pour s'arrêter automatiquement lorsqu'elle est inactive pendant 15 minutes. Lorsqu'une application passe à STOPPED cet état, elle libère toute capacité préinitialisée configurée. Vous pouvez modifier le temps d'inactivité avant l'arrêt automatique d'une application ou désactiver cette fonctionnalité.

Maximum capacity (Capacité maximum)

Vous pouvez configurer la capacité maximale qu'une application peut atteindre. Vous pouvez spécifier votre capacité maximale en termes de processeur, de mémoire (Go) et de disque (Go).

Note

Il est recommandé de configurer votre capacité maximale de manière à ce qu'elle soit proportionnelle à la taille des travailleurs pris en charge en multipliant le nombre de travailleurs par leur taille. Par exemple, si vous souhaitez limiter votre application à 50 processeurs virtuels avec 2 vCPU, 16 Go pour la mémoire et 20 Go pour le disque, définissez votre capacité maximale à 100 vCPU, 800 Go pour la mémoire et 1 000 Go pour le disque.

Configurations de travail supportées

Le tableau suivant répertorie les configurations de travail prises en charge et les tailles qui peuvent être spécifiées pour EMR Serverless. Configurez différentes tailles pour les pilotes et les exécuteurs en fonction des besoins de votre charge de travail.

Configurations et tailles des travailleurs
CPU Mémoire Stockage éphémère par défaut

1 vCPU

Minimum 2 Go, maximum 8 Go, par incréments de 1 Go

20 GO - 200 GO

2 vCPU

Minimum 4 Go, maximum 16 Go, par incréments de 1 Go

20 GO - 200 GO

4 vCPU

Minimum 8 Go, maximum 30 Go, par incréments de 1 Go

20 GO - 200 GO

8 vCPU

16 Go au minimum, 60 Go au maximum, par incréments de 4 Go

20 GO - 200 GO

16 vCPU

Minimum 32 Go, maximum 120 Go, par incréments de 8 Go

20 GO - 200 GO

32 vCPU

Trois valeurs discrètes : 60 Go, 120 Go ou 244 Go

20 GO - 200 GO

CPU — Chaque travailleur peut disposer de 1, 2, 4, 8, 16 ou 32 vCPU.

Mémoire — Chaque travailleur dispose de mémoire, spécifiée en Go, dans les limites indiquées dans le tableau précédent. Les tâches Spark ont une surcharge de mémoire, ce qui signifie que la mémoire qu'elles utilisent est supérieure aux tailles de conteneur spécifiées. Cette surcharge est spécifiée avec les propriétés spark.driver.memoryOverhead etspark.executor.memoryOverhead. La surcharge a une valeur par défaut de 10 % de la mémoire du conteneur, avec un minimum de 384 Mo. Vous devez tenir compte de ces frais généraux lorsque vous choisissez la taille des travailleurs.

Par exemple, si vous choisissez 4 vCPU pour votre instance de travail et une capacité de stockage préinitialisée de 30 Go, définissez une valeur d'environ 27 Go comme mémoire d'exécuteur pour votre tâche Spark. Cela maximise l'utilisation de votre capacité pré-initialisée. La mémoire utilisable est de 27 Go, plus 10 % de 27 Go (2,7 Go), pour un total de 29,7 Go.

Pour les utilisateurs dotés de 32 vCPU, la mémoire de travail doit correspondre à l'une des trois configurations distinctes suivantes : 60 Go, 120 Go ou 244 Go. EMR Serverless valide la demande de mémoire totale (mémoire configurée par Spark plus surcharge de mémoire) et rejette les tâches dont le total ne correspond pas à l'une des trois configurations. spark.executor.memoryainsi que la surcharge de mémoire (10 % par défaut) doivent se situer dans les 8 Go de la configuration de mémoire de travail prise en charge. Par exemple, une tâche Spark demandant un worker de 32 vCPU avec un spark.executor.memory paramétrage de 100 Go sera rejetée car le total de 110 Go (après ajout de la surcharge par défaut de 10 %) ne se situe pas à moins de 8 Go de la taille de travail de 120 Go prise en charge. Dans ce cas, spark.executor.memory une capacité comprise entre 102 Go et 109 Go sera acceptée.

Disque : vous pouvez configurer chaque travailleur avec des disques de stockage temporaires d'une taille minimale de 20 Go et maximale de 200 Go. Vous ne payez que pour le stockage supplémentaire au-delà de 20 Go que vous configurez par utilisateur.