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à.
Rimuovi un broker da un MSK cluster Amazon
Utilizza questa MSK operazione Amazon quando desideri rimuovere broker dai cluster con provisioning di Amazon Managed Streaming for Apache MSK Kafka (). Puoi ridurre la capacità di storage e di calcolo del cluster rimuovendo i set di broker, senza alcun impatto sulla disponibilità, sui rischi sulla durabilità dei dati o sull'interruzione delle applicazioni di streaming dei dati.
Puoi aggiungere altri broker al cluster per gestire l'aumento del traffico e rimuovere i broker quando il traffico diminuisce. Grazie alla funzionalità di aggiunta e rimozione dei broker, è possibile utilizzare al meglio la capacità del cluster e ottimizzare i costi dell'infrastruttura. MSK La rimozione dei broker offre il controllo a livello di broker sulla capacità del cluster esistente per soddisfare le esigenze di carico di lavoro ed evitare la migrazione verso un altro cluster.
Utilizza la AWS console, l'interfaccia a riga di comando (CLI) o AWS CloudFormation per ridurre il numero di broker del cluster a cui è stato assegnato il provisioning. SDK MSKseleziona i broker che non dispongono di alcuna partizione (ad eccezione di Canary Topics) e impedisce alle applicazioni di produrre dati per tali broker, rimuovendo al contempo in modo sicuro tali broker dal cluster.
È necessario rimuovere un broker per zona di disponibilità, se si desidera ridurre lo storage e l'elaborazione di un cluster. Ad esempio, è possibile rimuovere due broker da un cluster con due zone di disponibilità o tre broker da un cluster con tre zone di disponibilità in un'unica operazione di rimozione dei broker.
Per informazioni su come ribilanciare le partizioni dopo aver rimosso i broker da un cluster, vedere. Riassegnazione delle partizioni
È possibile rimuovere i broker da tutti i cluster MSK predisposti basati su M5 e M7g, indipendentemente dalla dimensione dell'istanza.
La rimozione dei broker è supportata nelle versioni di Kafka 2.8.1 e successive, inclusi i cluster modali. KRaft
Argomenti
Preparati a rimuovere i broker rimuovendo tutte le partizioni
Prima di iniziare il processo di rimozione del broker, sposta innanzitutto 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 MSK creati da Amazon per i parametri diagnostici e di salute dei cluster.
Puoi utilizzare Kafka admin APIs o Cruise Control per spostare le partizioni su altri broker che intendi mantenere nel cluster. Vedi Riassegnare le partizioni.
Procedura di esempio 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-2
msk-brk-rmv
Crea una macchina client come descritto in Creare una macchina 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” --list
In 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.json
sul computer client e aggiungi tutti i nomi degli argomenti utente come nel seguente esempio di codice. Non è necessario includere il nome dell'__amazon_msk_canary
argomento 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 su soli 3 broker su 6 broker del cluster.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --topics-to-move-json-file topics.json --broker-list 1,2,3 --generate
Crea un file chiamato
reassignment-file.json
e copia il comandoproposed partition reassignment configuration
che hai ottenuto dal precedente comando.Esegui il seguente comando per spostare le partizioni specificate in.
reassignment-file.json
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --execute
L'esito si presenta in maniera analoga all'immagine riportata di seguito.
Successfully started partition reassignments for morpheus-test-topic-1-0,test-topic-1-0
Esegui 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 --verify
L'output è simile al seguente. Monitora lo stato fino a quando tutte le partizioni negli argomenti richiesti non sono 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 ogni partizione è stata completata, monitora le
UserPartitionExists
metriche per 5 minuti per assicurarti che vengano visualizzate dai broker da cui hai spostato le0
partizioni. Dopo averlo confermato, puoi procedere alla rimozione del broker dal cluster.
Rimuovi un broker con la console di AWS gestione
Per rimuovere i broker con la console di gestione AWS
Apri la MSK console Amazon all'indirizzo https://console.aws.amazon.com/msk/
. Scegli il MSK cluster 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 vuoi.
Scegli Save changes (Salva modifiche).
Per evitare la rimozione accidentale del broker, la console ti chiede di confermare che desideri eliminare i broker.
Rimuovi un broker con il AWS CLI
Esegui il comando seguente, sostituendolo ClusterArn
con l'Amazon Resource Name (ARN) che hai ottenuto quando hai creato il cluster. Se non disponi del codice ARN per il tuo cluster, puoi trovarlo elencando tutti i cluster. Per ulteriori informazioni, consulta Listing Amazon MSK Clusters. 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 AWS CLI describe-clusterKTVPDKIKX0DER
.
Il Target-Number-of-Brokers
il parametro rappresenta il numero totale di nodi broker che si desidera che il cluster disponga quando l'operazione viene completata correttamente. Il valore specificato per 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-arn
ClusterArn
--current-versionCurrent-Cluster-Version
--target-number-of-broker-nodesTarget-Number-of-Brokers
L'output di questa update-broker-count
operazione è simile al seguenteJSON.
{ "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 API
Per rimuovere i broker in un cluster utilizzando ilAPI, consulta UpdateBrokerCountAmazon Managed Streaming for Apache Kafka Reference. API