View a markdown version of this page

Migre del modo kRafT ZooKeeper al modo KrAFT - Transmisión administrada de Amazon para Apache Kafka

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

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

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, consulteConfiguración dinámica de Amazon MSK.

Qué ocurre durante la migración

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.

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

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

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

  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.

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

  3. 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 conUPDATE_COMPLETE.

Después de la migración

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.