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
Apri la console Amazon MSK all'indirizzo https://console.aws.amazon.com/msk/
. -
Scegli il cluster MSK per il quale desideri aggiornare la versione di Apache Kafka.
-
Nella scheda Proprietà, scegli Aggiorna nella sezione relativa alla versione di Apache Kafka.
Aggiornamento della versione di Apache Kafka utilizzando 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 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" ] } ] }
-
Esegui il comando seguente, sostituendolo
ClusterArn
con 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éTargetVersion
puoi 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-versionCurrent-Cluster-Version
--target-kafka-versionTargetVersion
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" }
-
Per ottenere il risultato dell'
update-cluster-kafka-version
operazione, esegui il comando seguente, sostituendoClusterOperationArn
con l'ARN ottenuto nell'output delupdate-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 comandodescribe-cluster-operation
. Al termine dell'operazione, il valore diOperationState
diventaUPDATE_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
Richiama l'GetCompatibleKafkaVersionsoperazione per ottenere un elenco delle versioni di Apache Kafka a cui è possibile aggiornare il cluster.
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 di2
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 diacks=1
e offre una maggiore durabilità assicurando che tutte le repliche sincronizzate riconoscano la richiesta di produzione. Analogamente, l'impostazione predefinita perenable.idempotence
era precedente.false
La modifica all'enable.idempotence=true
impostazione 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.