

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Migre del modo kRafT ZooKeeper al modo KrAFT
<a name="zk-to-kraft-migration"></a>

Puede migrar un clúster de ZooKeeper-based MSK existente al modo kRafT mediante la API. `UpdateClusterKafkaVersion` La migración se realiza in situ: el clúster permanece disponible durante todo el proceso y no se mueve ningún dato. Amazon MSK aprovisiona los controladores kRaft, migra los metadatos del clúster ZooKeeper al quórum de kRaft y desactiva los nodos automáticamente. ZooKeeper 

## Requisitos previos
<a name="zk-kraft-migration-prereqs"></a>

Antes de migrar su clúster al modo kRafT, asegúrese de lo ZooKeeper siguiente:
+ Su clúster ejecuta la versión `3.9.x` de Apache Kafka en modo. ZooKeeper Si su clúster tiene una versión anterior, actualícela `3.9.x` primero mediante el proceso de actualización de la versión estándar.
+ El clúster se encuentra en el `ACTIVE` estado sin operaciones pendientes.
+ Si utilizas herramientas que dependen del ZooKeeper acceso directo (como versiones anteriores de Cruise Control o herramientas de administración personalizadas), actualízalas para que usen las API de administración de Kafka en lugar de ZooKeeper las conexiones directas.
+ En el caso de los clústeres estándar (aprovisionados): el acceso de los ZooKeeper clientes debe estar inhabilitado. Usa la `UpdateConnectivity` API para configurarla `ZookeeperAccess.Enabled=false` antes de iniciar la migración. Los clústeres Express no requieren este paso.
+ Todas las aplicaciones cliente utilizan la cadena de `--bootstrap-server` conexión, no la cadena de `--zookeeper` conexión. La cadena de ZooKeeper conexión no está disponible después de la migración.
+ Su clúster no tiene habilitados simultáneamente el acceso público y la supervisión abierta.
+ Su clúster no usa instancias de `kafka.t3.small` intermediario.
+ Su clúster no utiliza oyentes publicitarios dinámicos. Para comprobar si la `advertised.listeners` propiedad se ha establecido de forma dinámica en sus agentes, ejecute el siguiente comando, donde `{{$bs}}` se encuentra la cadena de conexión del servidor de arranque del clúster, y asegúrese de que el resultado no incluya: `advertised.listeners`

  ```
  bin/kafka-configs.sh --bootstrap-server $bs --entity-type brokers --describe
  ```

  Para obtener más información sobre las propiedades configuradas dinámicamente, consulte[Configuración dinámica de Amazon MSK](msk-configuration-properties.md#msk-dynamic-confinguration).

## Qué ocurre durante la migración
<a name="zk-kraft-migration-process"></a>

Al iniciar una ZooKeeper-to-KRaft migración, Amazon MSK realiza los siguientes pasos automáticamente:

1. Amazon MSK aprovisiona los nodos de controlador de KrAFT en su clúster. Estos controladores se incluyen sin coste adicional.

1. La migración del plano de datos se lleva a cabo: los agentes se reconfiguran para utilizar el quórum de Kraft para los metadatos y, al mismo tiempo, seguir atendiendo el tráfico de clientes.

1. Una vez que todos los agentes estén registrados en el quórum de kRaft, Amazon MSK desactiva los nodos. ZooKeeper 

1. El modo de administración de clústeres se actualiza a kRafT.

La migración es una operación de larga duración que puede tardar varias horas en función del tamaño del clúster. Puede supervisar el estado de la operación mediante la `DescribeClusterOperation` API.

**importante**  
La migración no se puede revertir. Una vez que el clúster se haya migrado al modo kRafT, no podrá volver a cambiarlo al ZooKeeper modo.

## Migre utilizando el AWS CLI
<a name="zk-kraft-migration-howto"></a>

1. Verifique las versiones de destino disponibles para su clúster:

   ```
   aws kafka get-compatible-kafka-versions --cluster-arn {{ClusterArn}}
   ```

   El resultado incluye las versiones de destino de KRaft (con un `.kraft` sufijo) si su clúster cumple los requisitos para la migración.

1. Inicie la migración especificando la versión de destino de KRaft:

   ```
   aws kafka update-cluster-kafka-version \
       --cluster-arn {{ClusterArn}} \
       --current-version {{Current-Cluster-Version}} \
       --target-kafka-version "3.9.x.kraft"
   ```
**importante**  
Las versiones de clúster no son enteros simples. Utilice la `DescribeCluster` operación para buscar la versión actual de su clúster.

1. Supervise el progreso de la migración:

   ```
   aws kafka describe-cluster-operation --cluster-operation-arn {{ClusterOperationArn}}
   ```

   El estado de la operación pasa de un estado a otro `UPDATE_IN_PROGRESS` y finaliza con`UPDATE_COMPLETE`.

## Después de la migración
<a name="zk-kraft-migration-after"></a>

Una vez finalizada la migración:
+ Su clúster funciona en modo kRafT. Todos los metadatos son gestionados por los controladores de KrAFT.
+ ZooKeeper se eliminan los nodos. La cadena de ZooKeeper conexión ya no está disponible.
+ Las aplicaciones cliente siguen funcionando sin cambios si utilizan la cadena de `--bootstrap-server` conexión.
+ Puede ver los puntos finales del controlador KRraft mediante la `ListNodes` API si los necesita para la supervisión abierta.