Comment résoudre les problèmes liés à la mise à niveau de mon cluster Amazon MSK ?

Lecture de 6 minute(s)
0

Je dois résoudre les problèmes liés à la mise à niveau de mon cluster Amazon Managed Streaming for Apache Kafka (Amazon MSK).

Résolution

Considérations et meilleures pratiques

Prenez note des points suivants avant de mettre à niveau votre cluster Amazon MSK :

  • Assurez-vous de définir le facteur de réplication du cluster sur une valeur de 3 ou plus. La définition d'un facteur de réplication de 1 peut entraîner la création de partitions hors ligne lors d'une mise à jour progressive. La définition d'un facteur de réplication de 2 peut entraîner une perte de données.
  • Définissez le nombre minimum de répliques synchronisées (minISR) sur une valeur inférieure ou égale à (facteur de réplication - 1). Une valeur minISR égale au facteur de réplication peut vous empêcher de produire vers le cluster lors d'une mise à jour continue. Un minISR de 2 permet de mettre à disposition des sujets répliqués en trois directions lorsqu'une réplique est hors ligne.
  • Assurez-vous que les chaînes de connexion client incluent au moins un courtier de chaque zone de disponibilité. La présence de plusieurs courtiers dans la chaîne de connexion d'un client permet un basculement lorsqu'un courtier spécifique est hors ligne pour une mise à jour.
  • Avant de mettre à jour la configuration d'un cluster, assurez-vous que celui-ci est à l'état ACTIF.
  • Il est recommandé de mettre à niveau votre cluster pendant les périodes de faible trafic. Le temps nécessaire à la mise à niveau de la version Apache Kafka dépend du nombre de courtiers de votre cluster.
  • Vous ne pouvez pas effectuer d'autres mises à jour du cluster lorsque vous mettez à niveau la version du cluster. Vous pouvez toujours produire et consommer à partir du cluster pendant la mise à niveau.
  • Il n'existe aucun risque de perte de données lors d'une mise à niveau, à l'exception des sujets sous-répliqués (par exemple, des sujets dont le facteur de réplication est inférieur à 3). Même dans cette situation, les partitions sont à nouveau disponibles une fois que les courtiers sont en ligne.
  • Vous pouvez mettre à jour la version Apache Kafka de votre cluster Amazon MSK via la console Amazon MSK ou l'interface de la ligne de commande AWS (AWS CLI).
  • Vous pouvez mettre à jour votre cluster Amazon MSK vers une version plus récente d'Apache Kafka. Vous ne pouvez pas le mettre à jour vers une ancienne version.
  • Amazon MSK met à jour uniquement le logiciel du serveur et ne met pas à jour vos clients. Par conséquent, lorsque vous mettez à niveau votre cluster, confirmez que vous pouvez utiliser les fonctionnalités de la nouvelle version d'Apache Kafka avec la version du logiciel client.
  • La mise à jour du type d'instance ne met pas à niveau la version du cluster.

Surveillance de la mise à niveau

Lorsque vous créez un cluster Amazon MSK, vous spécifiez la version d'Apache Kafka dont vous avez besoin sur le cluster. Vous pouvez également mettre à jour le cluster vers une version plus récente d'Apache Kafka après l'avoir créé en procédant comme suit :

  1. Ouvrez la console Amazon MSK.
  2. Choisissez le cluster que vous souhaitez mettre à niveau.
  3. Dans l'onglet Propriétés, choisissez Mettre à niveau dans la section Version d'Apache Kafka.

Pour plus d'informations, consultez la section Mise à jour de la version d'Apache Kafka.

Vous pouvez suivre la progression de la mise à jour dans l'onglet Opérations du cluster. Vous pouvez surveiller chaque étape de la mise à niveau, telle que l'initialisation de la mise à niveau, la mise à jour de la version d'Apache Kafka et la finalisation de la mise à niveau, à partir de cet onglet. Une fois que la mise à niveau atteint 17 %, plusieurs heures peuvent être nécessaires pour qu'elle se termine. Notez qu'Amazon MSK effectue la mise à niveau sur une base continue. Un courtier est retiré du cluster à la fois et sa version Kafka est mise à niveau. Ce courtier rejoint le groupe lorsque le prochain courtier est retiré. Ce processus est suivi jusqu'à ce que le dernier courtier soit mis à niveau avec la nouvelle version de Kafka.

Résolution des erreurs courantes

Erreur lors de la mise à jour de la configuration du cluster Un problème est survenu lors de la mise à jour de la configuration du cluster. Si le problème persiste, contactez AWS Support. Le nombre de partitions par courtier est supérieur à la limite recommandée. Ajoutez d'autres courtiers et réorganisez les partitions par courtier pour qu'elles soient inférieures à la limite recommandée, puis réessayez la demande.

-ou-

La mise à niveau est bloquée à l'étape « Initialisation de la mise à niveau »

Cette erreur s'affiche lorsque le nombre de partitions par courtier dépasse la valeur recommandée. La gestion des partitions sur un courtier est une charge de travail gourmande en ressources. Le fait de disposer d'un nombre de partitions supérieur à la limite recommandée peut mettre à rude épreuve les ressources disponibles dans le cluster. Dans ce cas, vous ne pouvez effectuer aucune des opérations suivantes sur le cluster :

  • Mettre à jour la configuration du cluster
  • Mettre à jour la version d'Apache Kafka pour le cluster
  • Mettre à jour le cluster vers un type de courtier plus petit

Pour résoudre cette erreur, essayez ce qui suit :

  • Augmentez le nombre de courtiers au sein du cluster. Réattribuez ensuite des partitions pour réduire le nombre de partitions par courtier. Utilisez les métriques Amazon CloudWatch pour connaître le nombre de partitions par courtier. Le nombre de partitions est le nombre total de partitions thématiques par courtier, y compris les répliques. Par défaut, le nombre de partitions par sujet est de 1 et le facteur de réplication est de 3 pour un cluster 3-AZ. Vous disposez donc de 3 partitions par sujet, car le facteur de réplication de 3 inclut la partition principale. Pour déplacer des partitions vers différents courtiers du même cluster, vous pouvez utiliser l'outil de réaffectation de partition nommé kafka-reassign-partitions.sh.
  • Réduisez le nombre de partitions en supprimant les sujets inutilisées. Vous pouvez utiliser la commande suivante pour afficher tous les sujets du cluster, ainsi que le nombre de partitions. Assurez-vous de configurer un client Apache Kafka sur une machine Amazon Elastic Compute Cloud (Amazon EC2) avant d'exécuter la commande.
bin/kafka-topics.sh —bootstrap-server localhost:9092 —describe —topic test
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an