Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Implémenter le dimensionnement des applications dans le service géré pour Apache Flink

Mode de mise au point
Implémenter le dimensionnement des applications dans le service géré pour Apache Flink - Service géré pour Apache Flink

Le service géré Amazon pour Apache Flink était auparavant connu sous le nom d’Amazon Kinesis Data Analytics pour Apache Flink.

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.

Le service géré Amazon pour Apache Flink était auparavant connu sous le nom d’Amazon Kinesis Data Analytics pour Apache Flink.

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.

Vous pouvez configurer l’exécution parallèle des tâches et l’allocation de ressources pour le service géré Amazon pour Apache Flink afin d’implémenter la mise à l’échelle. Pour plus d'informations sur la façon dont Apache Flink planifie les instances parallèles de tâches, voir Parallel Execution dans la documentation d'Apache Flink.

Configuration du parallélisme des applications et du KPU ParallelismPer

Vous configurez l’exécution parallèle des tâches votre application de service géré pour Apache Flink (telles que la lecture depuis une source ou l’exécution d’un opérateur) à l’aide des propriétés ParallelismConfiguration suivantes :

  • Parallelism : utilisez cette propriété pour définir le parallélisme par défaut de l’application Apache Flink. Tous les opérateurs, sources et récepteurs s’exécutent avec ce parallélisme, sauf s’ils sont remplacés dans le code de l’application. La valeur par défaut est 1, et la valeur maximale est 256.

  • ParallelismPerKPU : utilisez cette propriété pour définir le nombre de tâches parallèles qui peuvent être planifiées par unité de traitement Kinesis (KPU) de votre application. La valeur par défaut est 1, et la valeur maximale est 8. Pour les applications comportant des opérations de blocage (par exemple, des E/S), une valeur plus élevée de ParallelismPerKPU entraîne une utilisation complète des ressources KPU.

Note

La limite pour Parallelism est égale au nombre de ParallelismPerKPU fois la limite pour KPUs (64 par défaut). La KPUs limite peut être augmentée en demandant une augmentation de limite. Pour des instructions pour demander une augmentation de cette limite, consultez « Pour demander une augmentation de limite » dans Service Quotas.

Pour plus d'informations sur la définition du parallélisme des tâches pour un opérateur spécifique, voir Configuration du parallélisme : opérateur dans la documentation d'Apache Flink.

Allouer des unités de traitement Kinesis

Le service géré pour Apache Flink fournit la capacité en tant que KPUs. qUne seule unité KPU vous fournit 1 vCPU et 4 Go de mémoire. Pour chaque unité KPU allouée, 50 Go de stockage des applications en cours d’exécution sont également fournis.

Le service géré pour Apache Flink calcule KPUs les éléments nécessaires pour exécuter votre application à l'aide des ParallelismPerKPU propriétés Parallelism et, comme suit :

Allocated KPUs for the application = Parallelism/ParallelismPerKPU

Le service géré pour Apache Flink fournit rapidement des ressources à vos applications en réponse aux pics de débit ou d’activité de traitement. Il supprime progressivement les ressources de votre application une fois le pic d’activité passé. Pour désactiver l’allocation automatique des ressources, définissez la valeur AutoScalingEnabled sur false, comme décrit plus loin dans Mettez à jour le parallélisme de votre application.

La limite par défaut KPUs pour votre application est de 64. Pour des instructions pour demander une augmentation de cette limite, consultez « Pour demander une augmentation de limite » dans Service Quotas.

Note

Un KPU supplémentaire est facturé à des fins d’orchestration. Pour plus d’informations, consultez Tarification du service géré pour Apache Flink.

Mettez à jour le parallélisme de votre application

Cette section contient des exemples de demande d’action d’API qui définissent le parallélisme d’une application. Pour plus d’exemples et d’instructions sur l’utilisation de blocs de requête avec des actions d’API, consultez Exemple de code de service géré pour l'API Apache Flink.

L’exemple de demande d’action CreateApplication suivant définit le parallélisme lorsque vous créez une application :

{ "ApplicationName": "string", "RuntimeEnvironment":"FLINK-1_18", "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole", "ApplicationConfiguration": { "ApplicationCodeConfiguration":{ "CodeContent":{ "S3ContentLocation":{ "BucketARN":"arn:aws:s3:::amzn-s3-demo-bucket", "FileKey":"myflink.jar", "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345" } }, "CodeContentType":"ZIPFILE" }, "FlinkApplicationConfiguration": { "ParallelismConfiguration": { "AutoScalingEnabled": "true", "ConfigurationType": "CUSTOM", "Parallelism": 4, "ParallelismPerKPU": 4 } } } }

L’exemple de demande d’action UpdateApplication suivant définit le parallélisme pour une application existante :

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 4, "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "ParallelismConfigurationUpdate": { "AutoScalingEnabledUpdate": "true", "ConfigurationTypeUpdate": "CUSTOM", "ParallelismPerKPUUpdate": 4, "ParallelismUpdate": 4 } } } }

L’exemple de demande d’action UpdateApplication suivant désactive le parallélisme pour une application existante :

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 4, "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "ParallelismConfigurationUpdate": { "AutoScalingEnabledUpdate": "false" } } } }

Considérations relatives à maxParallelism

Le parallélisme maximal qu'une tâche Flink peut ajuster est limité au minimum pour maxParallelism tous les opérateurs de la tâche. Par exemple, si vous avez une tâche simple avec uniquement une source et un récepteur, et que la source a 16 et le récepteur 8, l'application ne peut pas évoluer au-delà du parallélisme de 8. maxParallelism

Pour savoir comment la valeur par défaut maxParallelism d'un opérateur est calculée et comment la remplacer, reportez-vous à la section Définition du parallélisme maximal dans la documentation d'Apache Flink.

En règle générale, sachez que si vous ne définissez maxParallelism aucun opérateur et que vous démarrez votre application avec un parallélisme inférieur ou égal à 128, tous les opérateurs auront un maxParallelism de 128.

Note

Le parallélisme maximal de la tâche est la limite supérieure du parallélisme pour faire évoluer votre application en conservant son état.

Si vous modifiez maxParallelism une application existante, celle-ci ne pourra pas redémarrer à partir d'une capture d'écran précédente prise avec l'anciennemaxParallelism. Vous ne pouvez redémarrer l'application que sans capture d'écran.

Si vous envisagez de dimensionner votre application à un parallélisme supérieur à 128, vous devez le définir explicitement maxParallelism dans votre application.

  • La logique de mise à l'échelle automatique empêchera le dimensionnement d'une tâche Flink jusqu'à un parallélisme supérieur au parallélisme maximal de la tâche.

  • Si vous utilisez un dimensionnement automatique personnalisé ou un dimensionnement planifié, configurez-les de manière à ce qu'ils ne dépassent pas le parallélisme maximal de la tâche.

  • Si vous redimensionnez manuellement votre application au-delà du parallélisme maximal, l'application ne démarre pas.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.