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 courtier 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 for Apache Kafka (MSK). Vous pouvez réduire la capacité de stockage et de calcul de votre cluster en supprimant des ensembles 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 faire face à 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 des courtiers vous permet de contrôler au niveau du courtier la capacité du cluster existant 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 AWS CloudFormation pour réduire le nombre de courtiers de votre cluster provisionné. MSK sélectionne les courtiers qui ne possèdent aucune partition (sauf pour Canary Topics) et empêche les applications de produire des données destinées à ces courtiers, tout en les retirant du cluster en toute sécurité.
Vous devez supprimer un courtier 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 MSK provisionnés basés sur M5 et M7g, quelle que soit la taille de l'instance.
La suppression du broker est prise en charge sur les versions 2.8.1 et supérieures de Kafka, y compris sur les clusters de KRaft mode.
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, sauf celles relatives aux sujets __amazon_msk_canary
et __amazon_msk_canary_state
aux courtiers que vous souhaitez supprimer. Il s'agit de rubriques internes créées par Amazon MSK pour les indicateurs de santé et de diagnostic du cluster.
Vous pouvez utiliser Kafka admin APIs ou Cruise Control pour déplacer des partitions vers d'autres courtiers que vous souhaitez conserver dans le cluster. Consultez la section Réattribution de partitions.
Exemple de processus pour supprimer des partitions
Cette section est un exemple de la procédure à suivre pour supprimer des partitions du broker que vous souhaitez supprimer. Supposons que vous ayez un cluster composé de 6 courtiers, 2 courtiers dans chaque AZ, et qu'il comporte quatre sujets :
__amazon_msk_canary
__consumer_offsets
__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2
msk-brk-rmv
Créez un ordinateur client comme décrit dans Création d'un ordinateur client.
Après avoir configuré la machine cliente, exécutez la commande suivante pour répertorier toutes les rubriques disponibles dans votre cluster.
./bin/kafka-topics.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --list
Dans cet exemple, nous voyons quatre noms de rubrique
__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.json
sur 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 du__amazon_msk_canary
sujet car il s'agit d'un sujet géré par un service qui sera automatiquement déplacé 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 courtiers du cluster.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --topics-to-move-json-file topics.json --broker-list 1,2,3 --generate
Créez un fichier appelé
reassignment-file.json
et copiez la commandeproposed partition reassignment configuration
que vous avez obtenue 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 --execute
La sortie ressemble à ce qui suit:
Successfully started partition reassignments for morpheus-test-topic-1-0,test-topic-1-0
Exé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 --verify
La sortie ressemble à ce qui suit. Surveillez l'état jusqu'à ce que toutes les partitions des sujets que vous avez demandés 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 le statut indique que la réaffectation de partition pour chaque partition est terminée, surveillez les
UserPartitionExists
métriques pendant 5 minutes pour vous assurer qu'elles s'affichent0
pour les courtiers à partir desquels 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 de la console AWS de gestion
Pour supprimer des courtiers à l'aide de la console AWS 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 broker à l'aide de la AWS 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 Listing Amazon MSK clusters. Remplacez Current-Cluster-Version
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-clusterKTVPDKIKX0DER
.
Le Target-Number-of-Brokers
paramètre représente le nombre total de nœuds de courtage 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 dans le cluster. Il doit également être un multiple du nombre de zones de disponibilité.
aws kafka update-broker-count --cluster-arn
ClusterArn
--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 à l'aide de l' AWS API
Pour supprimer les courtiers d'un cluster à l'aide de l'API, consultez le UpdateBrokerCountmanuel Amazon Managed Streaming for Apache Kafka API Reference.