Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Rimuovere un broker da un cluster Amazon MSK
Usa questa operazione Amazon MSK quando desideri rimuovere i broker dai cluster con provisioning di Amazon Managed Streaming for Apache Kafka (MSK). Puoi ridurre la capacità di storage e di calcolo del cluster rimuovendo i set di broker, senza alcun impatto sulla disponibilità, rischio di durabilità dei dati o interruzioni delle applicazioni di streaming di dati.
Puoi aggiungere altri broker al tuo cluster per gestire l'aumento del traffico e rimuovere i broker quando il traffico diminuisce. Grazie alla funzionalità di aggiunta e rimozione dei broker, puoi utilizzare al meglio la capacità del cluster e ottimizzare i costi dell'infrastruttura MSK. La rimozione del broker offre il controllo a livello di broker sulla capacità del cluster esistente per soddisfare le esigenze dei carichi di lavoro ed evitare la migrazione verso un altro cluster.
Usa la AWS console, l'interfaccia a riga di comando (CLI), l'SDK o CloudFormation per ridurre il numero di broker del cluster su cui è stato eseguito il provisioning. MSK seleziona i broker che non dispongono di partizioni (ad eccezione di Canary Topic) e impedisce alle applicazioni di produrre dati a tali broker, rimuovendoli al contempo in modo sicuro dal cluster.
È necessario rimuovere un broker per zona di disponibilità, se si desidera ridurre lo storage e l'elaborazione di un cluster. Ad esempio, puoi rimuovere due broker da un cluster di due zone di disponibilità o tre broker da un cluster di tre zone di disponibilità in un'unica operazione di rimozione del broker.
Per informazioni su come ribilanciare le partizioni dopo aver rimosso i broker da un cluster, consulta. Riassegnazione delle partizioni
È possibile rimuovere i broker da tutti i cluster con provisioning MSK basati su M5 e M7g, indipendentemente dalle dimensioni dell'istanza.
La rimozione dei broker è supportata nelle versioni di Kafka 2.8.1 e successive, inclusi i cluster in modalità KraFT.
Argomenti
Preparati a rimuovere i broker rimuovendo tutte le partizioni
Prima di iniziare il processo di rimozione del broker, sposta prima tutte le partizioni, tranne quelle relative agli argomenti __amazon_msk_canary e ai broker che __amazon_msk_canary_state intendi rimuovere. Si tratta di argomenti interni creati da Amazon MSK per le metriche diagnostiche e di salute dei cluster.
Puoi utilizzare le API di amministrazione di Kafka o Cruise Control per spostare le partizioni su altri broker che intendi mantenere nel cluster. Vedi Riassegnare le partizioni.
Esempio di processo per rimuovere le partizioni
Questa sezione è un esempio di come rimuovere le partizioni dal broker che intendi rimuovere. Supponiamo di avere un cluster con 6 broker, 2 broker in ogni AZ, e che abbia quattro argomenti:
__amazon_msk_canary__consumer_offsets__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2msk-brk-rmv
Crea un computer client come descritto in Creare un computer client.
Dopo aver configurato il computer client, esegui il comando seguente per elencare tutti gli argomenti disponibili nel cluster.
./bin/kafka-topics.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --listIn questo esempio, vediamo quattro nomi di argomenti
__amazon_msk_canary,__consumer_offsets__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2, emsk-brk-rmv.Crea un file json chiamato
topics.jsonsul computer client e aggiungi tutti i nomi degli argomenti utente come nel seguente esempio di codice. Non è necessario includere il nome dell'__amazon_msk_canaryargomento in quanto si tratta di un argomento gestito dal servizio che verrà spostato automaticamente quando necessario.{ "topics": [ {"topic": "msk-brk-rmv"}, {"topic": "__consumer_offsets"}, {"topic": "__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2"} ], "version":1 }Esegui il comando seguente per generare una proposta per spostare le partizioni solo su 3 broker su 6 del cluster.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --topics-to-move-json-file topics.json --broker-list 1,2,3 --generateCrea un file chiamato
reassignment-file.jsone copia il comandoproposed partition reassignment configurationche hai ottenuto da sopra.Esegui il seguente comando per spostare le partizioni specificate nel
reassignment-file.json../bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --executeL'esito si presenta in maniera analoga all'immagine riportata di seguito.
Successfully started partition reassignments for morpheus-test-topic-1-0,test-topic-1-0Esegui il comando seguente per verificare che tutte le partizioni siano state spostate.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --verifyL'output è simile al seguente. Monitora lo stato finché tutte le partizioni negli argomenti richiesti non siano state riassegnate correttamente:
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.Quando lo stato indica che la riassegnazione delle partizioni per ciascuna partizione è stata completata, monitora le
UserPartitionExistsmetriche per 5 minuti per assicurarti che vengano0visualizzate per i broker da cui hai spostato le partizioni. Dopo aver confermato ciò, puoi procedere alla rimozione del broker dal cluster.
Rimuovi un broker con AWS Console di gestione
Per rimuovere i broker con AWS Console di gestione
Apri la console Amazon MSK all'indirizzo https://console.aws.amazon.com/msk/
. Scegli il cluster MSK che contiene i broker che desideri rimuovere.
Nella pagina dei dettagli del cluster, scegli il pulsante Azioni e seleziona l'opzione Modifica numero di broker.
Inserisci il numero di broker che desideri che il cluster abbia per zona di disponibilità. La console riepiloga il numero di broker nelle zone di disponibilità che verranno rimossi. Assicurati che sia quello che desideri.
Scegli Save changes (Salva modifiche).
Per evitare la rimozione accidentale dei broker, la console ti chiede di confermare che desideri eliminare i broker.
Rimuovi un broker con AWS CLI
Esegui il comando seguente, sostituendolo ClusterArn con l'Amazon Resource Name (ARN) ottenuto durante la creazione del cluster. Se non disponi dell'ARN per il cluster, puoi trovarlo elencando tutti i cluster. Per ulteriori informazioni, consulta Elenco dei cluster Amazon MSK. Sostituisci Current-Cluster-Version con la versione corrente del cluster.
Importante
Le versioni del cluster non sono interi semplici. Per trovare la versione corrente del cluster, usa l'DescribeClusteroperazione o il comando https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.htmlKTVPDKIKX0DER.
Il Target-Number-of-Brokers parametro rappresenta il numero totale di nodi broker che si desidera che il cluster abbia quando l'operazione viene completata correttamente. Il valore specificato Target-Number-of-Brokers deve essere un numero intero inferiore al numero corrente di broker nel cluster. Deve anche essere un multiplo del numero di zone di disponibilità.
aws kafka update-broker-count --cluster-arnClusterArn--current-versionCurrent-Cluster-Version--target-number-of-broker-nodesTarget-Number-of-Brokers
L'output di questa operazione update-broker-count è simile al seguente JSON.
{ "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 } } }
In questo output, OperationType è DECREASE_BROKER_COUNT. Se il valore di OperationState è UPDATE_IN_PROGRESS, attendi qualche minuto, quindi esegui nuovamente il comando describe-cluster-operation.
Rimuovi un broker con AWS "Hello, World!"
Per rimuovere i broker in un cluster utilizzando l'API, consulta UpdateBrokerCount l'API Reference di Amazon Managed Streaming for Apache Kafka.