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.
Supprimer un agent d’un cluster Amazon MSK
Utilisez cette opération Amazon MSK lorsque vous souhaitez supprimer des courtiers des clusters provisionnés par Amazon Managed Streaming pour Apache Kafka (MSK). Vous pouvez réduire la capacité de stockage et de calcul de votre cluster en supprimant des groupes de courtiers, sans impact sur la disponibilité, sans risque de durabilité des données ou sans interruption de vos applications de streaming de données.
Vous pouvez ajouter d'autres courtiers à votre cluster pour gérer l'augmentation du trafic, et supprimer des courtiers lorsque le trafic diminue. Grâce à la fonctionnalité d'ajout et de suppression de courtiers, vous pouvez utiliser au mieux la capacité de votre cluster et optimiser les coûts de votre infrastructure MSK. La suppression du broker vous permet de contrôler au niveau du courtier la capacité existante du cluster afin de répondre à vos besoins en matière de charge de travail et d'éviter la migration vers un autre cluster.
Utilisez la AWS console, l'interface de ligne de commande (CLI), le SDK ou CloudFormation pour réduire le nombre de courtiers de votre cluster provisionné. MSK sélectionne les courtiers qui ne comportent aucune partition (à l'exception des sujets canaris) et empêche les applications de fournir des données à ces courtiers, tout en supprimant ces courtiers du cluster en toute sécurité.
Vous devez supprimer un broker par zone de disponibilité si vous souhaitez réduire le stockage et le calcul d'un cluster. Par exemple, vous pouvez supprimer deux courtiers d'un cluster de deux zones de disponibilité, ou trois courtiers d'un cluster de trois zones de disponibilité en une seule opération de suppression de courtiers.
Pour plus d'informations sur la façon de rééquilibrer les partitions après avoir supprimé des courtiers d'un cluster, consultezRéaffecter les partitions.
Vous pouvez supprimer des courtiers de tous les clusters provisionnés par MSK basés sur M5 et M7g, quelle que soit la taille de l'instance.
La suppression des courtiers est prise en charge sur les versions 2.8.1 et supérieures de Kafka, y compris sur les clusters en mode Kraft.
Rubriques
Préparez-vous à supprimer les courtiers en supprimant toutes les partitions
Avant de commencer le processus de suppression des courtiers, déplacez d'abord toutes les partitions, à l'exception __amazon_msk_canary_state de celles des sujets __amazon_msk_canary et des courtiers que vous prévoyez de supprimer. Il s'agit de sujets internes créés par Amazon MSK pour les mesures de diagnostic et de santé des clusters.
Vous pouvez utiliser les API d'administration de Kafka ou Cruise Control pour déplacer des partitions vers d'autres courtiers que vous souhaitez conserver dans le cluster. Consultez la section Réattribuer des partitions.
Exemple de processus pour supprimer des partitions
Cette section montre comment supprimer des partitions du broker que vous souhaitez supprimer. Supposons que vous ayez un cluster composé de 6 courtiers, 2 courtiers dans chaque zone de classement, et qu'il comporte quatre sujets :
__amazon_msk_canary__consumer_offsets__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2msk-brk-rmv
Créez un ordinateur client comme décrit dans Créer un ordinateur client.
Après avoir configuré la machine cliente, exécutez la commande suivante pour répertorier tous les sujets disponibles dans votre cluster.
./bin/kafka-topics.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --listDans cet exemple, nous voyons quatre noms de rubriques
__amazon_msk_canary,__consumer_offsets,__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2, etmsk-brk-rmv.Créez un fichier json appelé
topics.jsonsur la machine cliente et ajoutez tous les noms de rubriques utilisateur comme dans l'exemple de code suivant. Il n'est pas nécessaire d'inclure le nom de la__amazon_msk_canaryrubrique car il s'agit d'une rubrique gérée par les services qui sera automatiquement déplacée si nécessaire.{ "topics": [ {"topic": "msk-brk-rmv"}, {"topic": "__consumer_offsets"}, {"topic": "__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2"} ], "version":1 }Exécutez la commande suivante pour générer une proposition visant à déplacer des partitions vers seulement 3 courtiers sur les 6 du cluster.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --topics-to-move-json-file topics.json --broker-list 1,2,3 --generateCréez un fichier appelé
reassignment-file.jsonet copiez la commandeproposed partition reassignment configurationque vous avez obtenue à partir de la commande ci-dessus.Exécutez la commande suivante pour déplacer les partitions que vous avez spécifiées dans le
reassignment-file.json../bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --executeLa sortie ressemble à ce qui suit:
Successfully started partition reassignments for morpheus-test-topic-1-0,test-topic-1-0Exécutez la commande suivante pour vérifier que toutes les partitions ont été déplacées.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --verifyLa sortie ressemble à ce qui suit. Surveillez l'état jusqu'à ce que toutes les partitions des rubriques demandées aient été réattribuées avec succès :
Status of partition reassignment: Reassignment of partition msk-brk-rmv-0 is completed. Reassignment of partition msk-brk-rmv-1 is completed. Reassignment of partition __consumer_offsets-0 is completed. Reassignment of partition __consumer_offsets-1 is completed.Lorsque l'état indique que la réaffectation des partitions pour chaque partition est terminée, surveillez les
UserPartitionExistsmesures pendant 5 minutes pour vous assurer qu'elles s'affichent0pour les courtiers depuis lesquels vous avez déplacé les partitions. Après avoir confirmé cela, vous pouvez procéder à la suppression du courtier du cluster.
Supprimer un courtier à l'aide du AWS Console de gestion
Pour supprimer des courtiers dotés du AWS Console de gestion
Ouvrez la console Amazon MSK à l'adresse https://console.aws.amazon.com/msk/
. Choisissez le cluster MSK qui contient les courtiers que vous souhaitez supprimer.
Sur la page des détails du cluster, cliquez sur le bouton Actions et sélectionnez l'option Modifier le nombre de courtiers.
Entrez le nombre de courtiers que vous souhaitez attribuer au cluster par zone de disponibilité. La console récapitule le nombre de courtiers qui seront supprimés dans les zones de disponibilité. Assurez-vous que c'est ce que vous voulez.
Sélectionnez Enregistrer les modifications.
Pour éviter la suppression accidentelle de courtiers, la console vous demande de confirmer que vous souhaitez supprimer des courtiers.
Supprimer un courtier avec le AWS INTERFACE DE LIGNE DE COMMANDE (CLI)
Exécutez la commande suivante en la ClusterArn remplaçant par le Amazon Resource Name (ARN) que vous avez obtenu lors de la création de votre cluster. Si vous n'avez pas l'ARN pour votre cluster, vous pouvez le trouver en listant tous les clusters. Pour plus d'informations, consultez la rubrique Répertorier les clusters Amazon MSK. Current-Cluster-VersionRemplacez-la par la version actuelle du cluster.
Important
Les versions de cluster ne sont pas des entiers simples. Pour trouver la version actuelle du cluster, utilisez l'DescribeClusteropération ou la commande describe-cluster KTVPDKIKX0DER.
Le Target-Number-of-Brokers paramètre représente le nombre total de nœuds courtiers que vous souhaitez que le cluster possède une fois cette opération terminée avec succès. La valeur que vous spécifiez Target-Number-of-Brokers doit être un nombre entier inférieur au nombre actuel de courtiers du cluster. Il doit également être un multiple du nombre de zones de disponibilité.
aws kafka update-broker-count --cluster-arnClusterArn--current-versionCurrent-Cluster-Version--target-number-of-broker-nodesTarget-Number-of-Brokers
La sortie de cette opération update-broker-count ressemble au JSON suivant.
{ "ClusterOperationInfo": { "ClientRequestId": "c0b7af47-8591-45b5-9c0c-909a1a2c99ea", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2019-09-25T23:48:04.794Z", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_COMPLETE", "OperationType": "DECREASE_BROKER_COUNT", "SourceClusterInfo": { "NumberOfBrokerNodes": 12 }, "TargetClusterInfo": { "NumberOfBrokerNodes": 9 } } }
Dans cette sortie, OperationType est DECREASE_BROKER_COUNT. Si OperationState a la valeur UPDATE_IN_PROGRESS, attendez un moment, puis exécutez à nouveau la commande describe-cluster-operation.
Supprimer un courtier avec le AWS API
Pour supprimer des courtiers d'un cluster à l'aide de l'API, consultez le UpdateBrokerCount manuel Amazon Managed Streaming for Apache Kafka API Reference.