Rimuovi un broker da un MSK cluster Amazon - Amazon Managed Streaming per Apache Kafka

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

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

  1. Crea una macchina client come descritto in Creare una macchina client.

  2. 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.

  3. 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_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 }
  4. 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
  5. Crea un file chiamato reassignment-file.json e copia il comando proposed partition reassignment configuration che hai ottenuto dal precedente comando.

  6. 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
  7. 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.
  8. 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 le 0 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
  1. Apri la MSK console Amazon all'indirizzo https://console.aws.amazon.com/msk/.

  2. Scegli il MSK cluster che contiene i broker che desideri rimuovere.

  3. Nella pagina dei dettagli del cluster, scegli il pulsante Azioni e seleziona l'opzione Modifica numero di broker.

  4. 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.

  5. 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-cluster. Una versione di esempio è KTVPDKIKX0DER.

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-version Current-Cluster-Version --target-number-of-broker-nodes Target-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