Utilisez la mise à jour dynamique des paramètres pour vos jobs Flink afin d'appliquer plus rapidement les nouvelles configurations. Cette fonctionnalité réduit les interruptions de service liées aux redémarrages de jobs, simplifie la mise à l'échelle dynamique des TaskManagers et vous aide à résoudre les problèmes liés aux checkpoints.
Contexte
La mise à jour des paramètres Flink nécessite traditionnellement un redémarrage du job. Ce processus peut entraîner des interruptions de service, des retards dans la réintégration des données et des pics d'utilisation des ressources, prolongeant ainsi les temps d'arrêt et affectant la continuité des activités.
La fonctionnalité de mise à jour dynamique des paramètres envoie une requête REST à un job en cours d'exécution. Elle permet au job de réutiliser les conteneurs JobManager et TaskManager existants et d'appliquer les mises à jour via un redémarrage sur place ou, dans certains cas, sans redémarrage, réduisant ainsi le coût des redémarrages. Combinée à des capacités telles que la pré-allocation des ressources et le chargement différé de l'état, cette fonctionnalité accélère considérablement le démarrage du job après une mise à jour, réduisant les temps d'arrêt de plusieurs minutes à quelques secondes. Pour un job typique Source -> Map -> Sink, l'utilisation de la mise à jour dynamique des paramètres pour la mise à l'échelle dynamique diminue drastiquement le temps d'interruption de service. La figure suivante compare les temps d'arrêt.

Vous pouvez mettre à l'échelle dynamiquement les TaskManagers en mettant à jour le parallélisme. Pour plus d'informations sur le calcul du nombre de TaskManagers, consultez la rubrique Configurer les ressources du job.
Limites
Seuls les paramètres suivants prennent en charge les mises à jour dynamiques : parallelism, Checkpointing Interval, Checkpointing Timeout et Min Interval Between Checkpoints. Si vous modifiez également des paramètres qui ne prennent pas en charge les mises à jour dynamiques, ces modifications ne prendront effet qu'après un redémarrage du job.
Cette fonctionnalité est disponible uniquement pour les jobs s'exécutant sur Ververica Runtime (VVR) 8.0.1 ou version ultérieure.
La mise à jour dynamique du parallélisme n'est pas prise en charge en mode expert (granularité fine).
Notes d'utilisation
La mise à jour dynamique des paramètres est une fonctionnalité expérimentale ; des interruptions de service peuvent toujours se produire pendant le processus de mise à jour. Par rapport à la modification traditionnelle des paramètres, les mises à jour dynamiques peuvent réduire considérablement les temps d'arrêt. Toutefois, la durée exacte de l'interruption, généralement comprise entre 5 secondes et 1 minute, dépend de facteurs tels que la topologie du job et la taille de l'état.
Vous ne pouvez appliquer des mises à jour dynamiques des paramètres qu'à un job en cours d'exécution.
Lorsque vous mettez à jour dynamiquement le parallélisme, Realtime Compute for Apache Flink ignore les nœuds dont le parallélisme est défini explicitement. En effet, certains opérateurs ont des exigences spécifiques en matière de parallélisme. Par exemple, le parallélisme d'un opérateur global doit être égal à 1, et le parallélisme d'une source Kafka est souvent défini explicitement pour éviter de dépasser le nombre de partitions. Pour garantir que le parallélisme d'un opérateur puisse être mis à jour dynamiquement, ne le définissez pas explicitement à l'aide de méthodes telles que
DataStream#setParallelismou des paramètres de configuration source/sink.Le bouton Hot-update n'apparaît qu'après avoir modifié l'un des paramètres pris en charge : parallelism, Checkpointing Interval, Checkpointing Timeout ou Min Interval Between Checkpoints. Après avoir cliqué sur le bouton, les modifications prennent effet. Si vous modifiez également des paramètres qui ne prennent pas en charge les mises à jour dynamiques, ces modifications ne prendront effet qu'après un redémarrage du job.
Procédure
-
Accédez à la page O&M > Deployments.
Connectez-vous à la console Realtime Compute for Apache Flink.
Dans la colonne Actions de l'espace de travail cible, cliquez sur Console.
Dans le volet de navigation de gauche, choisissez . Cliquez sur le nom du job running cible.
Sous l'onglet Configuration, dans la section Resources ou Parameters, cliquez sur Edit.
Modifiez les valeurs des paramètres qui prennent en charge les mises à jour dynamiques, puis cliquez sur Save.
-
Dans le coin supérieur droit de la page, cliquez sur Hot-update.
ImportantSeuls les paramètres suivants prennent en charge les mises à jour dynamiques : parallelism, Checkpointing Interval, Checkpointing Timeout et Min Interval Between Checkpoints. Si vous modifiez également des paramètres qui ne prennent pas en charge les mises à jour dynamiques, ces modifications ne prendront effet qu'après un redémarrage du job.
-
Dans la boîte de dialogue qui s'affiche, vérifiez les informations et cliquez sur OK.
Après avoir cliqué sur OK, une icône apparaît, indiquant que la mise à jour est en cours.
Documentation connexe
Pour mettre à jour des paramètres qui ne prennent pas en charge les mises à jour dynamiques, configurez-les sous l'onglet Configuration puis redémarrez le job. Pour plus d'informations, consultez les rubriques Configurer le déploiement du job et Démarrer un job.
La fonctionnalité de réglage automatique des performances peut vous aider à optimiser le parallélisme du job et la configuration des ressources. Pour plus d'informations, consultez la rubrique Configurer le réglage automatique.
Le service de diagnostic intelligent des jobs vous aide à surveiller l'état de santé des jobs, à analyser les erreurs et les anomalies, et fournit des suggestions de diagnostic exploitables. Pour plus d'informations, consultez la rubrique Diagnostic intelligent des jobs.