

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

# Aggiorna la versione di Apache Kafka
<a name="version-upgrades"></a>

È possibile aggiornare un cluster MSK esistente a una versione più recente di Apache Kafka. Prima di aggiornare la versione di Kafka del cluster, verificate che la versione del software lato client supporti le funzionalità della nuova versione di Kafka.

Per informazioni su come rendere un cluster altamente disponibile durante un aggiornamento, consulta. [Creazione di cluster a disponibilità elevata](bestpractices.md#ensure-high-availability)

**Aggiornare la versione di Apache Kafka utilizzando il Console di gestione AWS**

1. Apri la console Amazon MSK all'indirizzo [https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

1. Nella barra di navigazione, scegli la regione in cui hai creato il cluster MSK.

1. Scegli il cluster MSK che desideri aggiornare.

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

1. Nella sezione relativa alla **versione di Apache Kafka**, procedi come segue:

   1. Nell'elenco a discesa *Scegli la versione di Apache Kafka, scegli la versione* di destinazione a cui desideri eseguire l'aggiornamento. Ad esempio, scegli **3.9.x**.

   1. (Facoltativo) Scegliete **Visualizza compatibilità delle versioni** per verificare la compatibilità tra la versione corrente del cluster e le versioni di aggiornamento disponibili. Quindi, seleziona **Scegli** per procedere.
**Nota**  
Amazon MSK supporta gli aggiornamenti in loco alla maggior parte delle versioni di Apache Kafka. Tuttavia, quando si esegue l'aggiornamento da una versione basata su Kafka ZooKeeper a una versione basata su Kafka, è necessario creare un nuovo cluster KRaft. Quindi, copia i dati nel nuovo cluster e sposta i client nel nuovo cluster.

   1. (Facoltativo) Seleziona la casella di controllo **Aggiorna la configurazione del cluster** per applicare gli aggiornamenti di configurazione compatibili con la nuova versione. Ciò abilita le funzionalità e i miglioramenti della nuova versione.

      Puoi saltare questo passaggio se devi mantenere le configurazioni personalizzate esistenti.
**Nota**  
Gli aggiornamenti lato server non aggiornano automaticamente le applicazioni client.
Per mantenere la stabilità del cluster, i downgrade di versione non sono supportati.

   1. Scegli **Aggiorna** per avviare il processo.

**Aggiorna la versione di Apache Kafka usando il AWS CLI**

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 [Elenca i cluster Amazon MSK](msk-list-clusters.md).

   ```
   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"
               ]
           }
       ]
   }
   ```

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 [Elenca i cluster Amazon MSK](msk-list-clusters.md).

   Sostituiscilo *Current-Cluster-Version* con la versione corrente del cluster. Perché *TargetVersion* è possibile 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'[DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster)operazione o il comando [AWS CLI describe-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.html). 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"
   }
   ```

1. Per ottenere il risultato dell'`update-cluster-kafka-version`operazione, esegui il comando seguente, sostituendolo *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. 

**Aggiorna la versione di Apache Kafka utilizzando l'API**

1. Richiama l'[GetCompatibleKafkaVersions](https://docs.aws.amazon.com//msk/1.0/apireference/compatible-kafka-versions.html#GetCompatibleKafkaVersions)operazione per ottenere un elenco delle versioni di Apache Kafka a cui è possibile aggiornare il cluster.

1. Richiama l'[UpdateClusterKafkaVersion](https://docs.aws.amazon.com//msk/1.0/apireference/clusters-clusterarn-version.html#UpdateClusterKafkaVersion)operazione per aggiornare il cluster a una delle versioni compatibili di Apache Kafka.