Supporto per la versione di Amazon MSK - 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à.

Supporto per la versione di Amazon MSK

Questo argomento descrive Politica di supporto delle versioni di Amazon MSK e la procedura perAggiornamento della versione di Apache Kafka. Se stai aggiornando la tua versione di Kafka, segui le migliori pratiche descritte in. Le migliori pratiche per gli aggiornamenti delle versioni

Politica di supporto delle versioni di Amazon MSK

Questa sezione descrive la politica di supporto per le versioni di Kafka supportate da Amazon MSK.

  • Tutte le versioni di Kafka sono supportate fino al raggiungimento della data di fine del supporto. Per informazioni dettagliate sulle date di fine del supporto, consulta. Versioni di Apache Kafka supportate Aggiorna il tuo cluster MSK alla versione di Kafka consigliata o alla versione successiva prima della data di fine del supporto. Per dettagli sull'aggiornamento della versione di Apache Kafka, consulta. Aggiornamento della versione di Apache Kafka Un cluster che utilizza una versione di Kafka dopo la data di fine del supporto viene aggiornato automaticamente alla versione Kafka consigliata.

  • MSK eliminerà gradualmente il supporto per i cluster di nuova creazione che utilizzano versioni di Kafka con date di fine supporto pubblicate.

Aggiornamento della versione di Apache Kafka

Ora è possibile aggiornare un cluster MSK esistente a una versione più recente di Apache Kafka. Non puoi aggiornarlo a una versione precedente. Quando aggiorni la versione di Apache Kafka di un cluster MSK, controlla anche il software lato client per assicurarti che la versione consenta di utilizzare le funzionalità della nuova versione Apache Kafka del cluster. Amazon MSK aggiorna soltanto il software del server. Non aggiorna i clienti.

Per informazioni su come rendere un cluster altamente disponibile durante un aggiornamento, consulta Creazione di cluster a disponibilità elevata.

Importante

Non è possibile aggiornare la versione di Apache Kafka per un cluster MSK che supera i limiti descritti nella pagina Dimensionamento corretto del cluster: numero di partizioni per broker.

Aggiornamento della versione di Apache Kafka utilizzando il AWS Management Console
  1. Apri la console Amazon MSK all'indirizzo https://console.aws.amazon.com/msk/.

  2. Scegli il cluster MSK per il quale desideri aggiornare la versione di Apache Kafka.

  3. Nella scheda Proprietà, scegli Aggiorna nella sezione relativa alla versione di Apache Kafka.

Aggiornamento della versione di Apache Kafka utilizzando il AWS CLI
  1. Esegui il comando seguente, sostituendolo ClusterArncon l'Amazon Resource Name (ARN) che hai ottenuto quando hai creato il cluster. Se non disponi dell'ARN per il cluster, puoi trovarlo elencando tutti i cluster. Per ulteriori informazioni, consulta Elencazione dei cluster Amazon MSK.

    aws kafka get-compatible-kafka-versions --cluster-arn ClusterArn

    L'output di questo comando include un elenco delle versioni di Apache Kafka a cui è possibile aggiornare il cluster. Il risultato sembra l'esempio seguente.

    { "CompatibleKafkaVersions": [ { "SourceVersion": "2.2.1", "TargetVersions": [ "2.3.1", "2.4.1", "2.4.1.1", "2.5.1" ] } ] }
  2. Esegui il comando seguente, sostituendolo ClusterArncon l'Amazon Resource Name (ARN) che hai ottenuto quando hai creato il cluster. Se non disponi dell'ARN per il cluster, puoi trovarlo elencando tutti i cluster. Per ulteriori informazioni, consulta Elencazione dei cluster Amazon MSK.

    Sostituisci Current-Cluster-Version con la versione corrente del cluster. Perché TargetVersionpuoi specificare una qualsiasi delle versioni di destinazione dall'output del comando precedente.

    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.

    aws kafka update-cluster-kafka-version --cluster-arn ClusterArn --current-version Current-Cluster-Version --target-kafka-version TargetVersion

    L'output del comando precedente è simile al JSON seguente.

    { "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" }
  3. Per ottenere il risultato dell'update-cluster-kafka-versionoperazione, esegui il comando seguente, sostituendo ClusterOperationArn con l'ARN ottenuto nell'output del update-cluster-kafka-version comando.

    aws kafka describe-cluster-operation --cluster-operation-arn ClusterOperationArn

    L'output di questo comando describe-cluster-operation è simile all'esempio JSON seguente.

    { "ClusterOperationInfo": { "ClientRequestId": "62cd41d2-1206-4ebf-85a8-dbb2ba0fe259", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2021-03-11T20:34:59.648000+00:00", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_IN_PROGRESS", "OperationSteps": [ { "StepInfo": { "StepStatus": "IN_PROGRESS" }, "StepName": "INITIALIZE_UPDATE" }, { "StepInfo": { "StepStatus": "PENDING" }, "StepName": "UPDATE_APACHE_KAFKA_BINARIES" }, { "StepInfo": { "StepStatus": "PENDING" }, "StepName": "FINALIZE_UPDATE" } ], "OperationType": "UPDATE_CLUSTER_KAFKA_VERSION", "SourceClusterInfo": { "KafkaVersion": "2.4.1" }, "TargetClusterInfo": { "KafkaVersion": "2.6.1" } } }

    Se il valore di OperationState è UPDATE_IN_PROGRESS, attendi qualche minuto, quindi esegui nuovamente il comando describe-cluster-operation. Al termine dell'operazione, il valore di OperationState diventa UPDATE_COMPLETE. Poiché il tempo necessario ad Amazon MSK per completare l'operazione varia, potrebbe essere necessario eseguire ripetutamente il controllo fino al completamento dell'operazione.

Aggiornamento della versione di Apache Kafka utilizzando l'API
  1. Richiama l'GetCompatibleKafkaVersionsoperazione per ottenere un elenco delle versioni di Apache Kafka a cui è possibile aggiornare il cluster.

  2. Richiama l'UpdateClusterKafkaVersionoperazione per aggiornare il cluster a una delle versioni compatibili di Apache Kafka.

Le migliori pratiche per gli aggiornamenti delle versioni

Per garantire la continuità del client durante l'aggiornamento progressivo eseguito come parte del processo di aggiornamento della versione di Kafka, rivedi la configurazione dei tuoi client e gli argomenti di Apache Kafka come segue:

  • Imposta il fattore di replica dell'argomento (RF) su un valore minimo di per i cluster Two-AZ e un valore minimo di 2 per i cluster Three-AZ. 3 Un valore RF di 2 può portare a partizioni offline durante l'applicazione delle patch.

  • Imposta il numero minimo di repliche in sincronia (miniSR) su un valore massimo di per garantire che il set di repliche delle partizioni possa RF - 1 tollerare che una replica sia offline o poco replicata.

  • Configura i client per utilizzare più stringhe di connessione del broker. La presenza di più broker nella stringa di connessione di un client consente il failover se un broker specifico che supporta l'I/O del client inizia a ricevere le patch. Per informazioni su come ottenere una stringa di connessione con più broker, consulta Ottenere i broker bootstrap per un cluster Amazon MSK.

  • Ti consigliamo di aggiornare i client che si connettono alla versione consigliata o superiore per beneficiare delle funzionalità disponibili nella nuova versione. Gli upgrade dei client non sono soggetti alle date di fine del ciclo di vita (EOL) della versione Kafka del cluster MSK e non è necessario che vengano completati entro la data di fine del ciclo di vita. Apache Kafka fornisce una politica di compatibilità dei client bidirezionale che consente ai client più vecchi di lavorare con cluster più recenti e viceversa.

  • È probabile che i client Kafka che utilizzano le versioni 3.x.x abbiano le seguenti impostazioni predefinite: e. acks=all enable.idempotence=true acks=allè diverso dall'impostazione predefinita precedente di acks=1 e offre una maggiore durabilità assicurando che tutte le repliche sincronizzate riconoscano la richiesta di produzione. Analogamente, l'impostazione predefinita per enable.idempotence era precedente. false La modifica all'enable.idempotence=trueimpostazione predefinita riduce la probabilità di messaggi duplicati. Queste modifiche sono considerate impostazioni di best practice e possono introdurre una piccola quantità di latenza aggiuntiva che rientra nei normali parametri di prestazione.

  • Utilizzate la versione consigliata di Kafka per creare nuovi cluster MSK. L'utilizzo della versione consigliata di Kafka consente di sfruttare le funzionalità più recenti di Kafka e MSK.