Migre un clúster de Apache Kafka local a Amazon MSK mediante MirrorMaker - Recomendaciones de AWS

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 un clúster de Apache Kafka local a Amazon MSK mediante MirrorMaker

Creado por Han Zhang (AWS) y Tanner Pratt (AWS)

Entorno: PoC o piloto

Origen: clúster de Apache Kafka autogestionado o en las instalaciones

Destino: Amazon Managed Streaming para Apache Kafka (Amazon MSK)

Tipo R: redefinir la plataforma

Carga de trabajo: código abierto; todas las demás cargas de trabajo

Tecnologías: análisis; macrodatos; migración

Servicios de AWS: Amazon MSK

Resumen

Este patrón proporciona instrucciones para migrar un clúster de Apache Kafka en las instalaciones, autogestionado o alojado a Amazon Managed Streaming para Apache Kafka (Amazon MSK). También puede usar este patrón para migrar de un clúster de Amazon MSK a otro.

Apache Kafka incluye la MirrorMaker función, que replica los datos entre dos clústeres de Kafka. MirrorMaker consiste en un conjunto de consumidores que forman parte de un grupo de consumidores. Los consumidores leen los datos de los temas del clúster de origen y, a continuación, los pasan a los productores, que los escriben en el clúster de destino.

La documentación de Amazon MSK contiene una descripción general de alto nivel del proceso de uso de la MirrorMaker versión 1.0 para migrar clústeres de Kafka locales a Amazon MSK. Este patrón complementa esta información al ofrecer step-by-step instrucciones completas para usar la versión 2.0. MirrorMaker

Requisitos previos y limitaciones

Requisitos previos 

  • Una cuenta de AWS activa

  • Un clúster de origen de Kafka que sea uno de los siguientes tipos:

    • En un centro de datos en las instalaciones

    • Autoadministrado en la nube

    • Alojado a través de un socio

Limitaciones

  • Para usar la MirrorMaker versión 2.0, el clúster de origen debe utilizar la versión 2.4.0 o posterior de Apache Kafka. Para versiones anteriores, consulte las instrucciones de la documentación de Amazon MSK para utilizar la MirrorMaker versión 1.0.

Versiones de producto

  • MirrorMaker versión 2.0

  • Apache Maven versión 2.4.0 o posterior. Para obtener más información sobre las versiones de Apache Kafka compatibles con Amazon MSK, consulte Versiones de Apache Kafka compatibles.

Arquitectura

Pila de tecnología de origen

  • Clúster de Kafka autogestionado o en las instalaciones

Pila de tecnología de destino

  • Clúster de Amazon RDS

Arquitectura de destino

MirrorMaker lee los datos del clúster de origen y los replica en el clúster de Amazon MSK de destino

El diagrama muestra el proceso siguiente:

  1. MirrorMaker lee los datos de los temas y grupos de consumidores del clúster de Kafka de origen.

  2. MirrorMaker replica los datos y la información del consumidor en el clúster de Amazon MSK de destino.

Herramientas

Servicios de AWS

Otras herramientas

  • Apache Kafka es una plataforma de transmisión de eventos de código abierto. En este patrón, se utiliza la MirrorMakerfunción de Kafka para realizar la migración entre clústeres.

Prácticas recomendadas

Puede ejecutarlo MirrorMaker en el entorno de origen o en el de destino, pero se recomienda ejecutarlo lo más cerca posible del clúster de destino. Para obtener más información, consulte las Prácticas recomendadas: consumir desde remoto, producir a local en la documentación de Apache Kafka.

Epics

TareaDescripciónHabilidades requeridas

Cree una VPC.

  1. Cree una VPC en la cuenta de destino de AWS. Para obtener instrucciones, consulte la sección Crear una VPC.

  2. Cree tres subredes privadas en diferentes zonas de disponibilidad de la nueva VPC. Para obtener instrucciones, consulte la sección Crear una subred. El uso de diferentes zonas de disponibilidad proporciona alta disponibilidad y tolerancia a errores.

    Nota: Si usa una conexión pública a Internet para migrar el clúster de Kafka, cree subredes públicas y habilite el acceso público al clúster de Amazon MSK.

Administrador de sistemas, DevOps ingeniero y administrador de la nube de AWS

Cree el clúster de Amazon MSK.

Cree un clúster de Amazon MSK. Para obtener más instrucciones, consulte Crear un clúster mediante la consola de administración de AWS o Crear un clúster mediante la CLI de AWS. Configure el clúster para que use la VPC y las subredes que creó anteriormente.

Administrador de sistemas, DevOps ingeniero y administrador de la nube de AWS
TareaDescripciónHabilidades requeridas

Instalar MirrorMaker.

  1. Lance una instancia EC2.

  2. Conéctese a su instancia EC2.

  3. En la instancia de EC2, descargue y extraiga la última versión de Kafka. Para obtener instrucciones, consulte Inicio rápido (documentación de Kafka).

Nota: En este patrón, se instala MirrorMaker 2.0 como un MirrorMaker clúster dedicado en una instancia de Amazon EC2. Esta opción es aceptable en entornos de desarrollo, y es el enfoque que se emplea en este patrón. Para obtener más información sobre otras opciones de implementación de la MirrorMaker versión 2.0, consulte la sección de información adicional de este patrón.

Administrador de sistemas de AWS, administrador de la nube, DevOps ingeniero

Especifique la información del clúster de Kafka.

En la carpeta de instalación bin del cliente de Kafka, cree un archivo mm2.properties y configúrelo para el clúster de Kafka de origen. Para obtener instrucciones, consulte Ejecutar un MirrorMaker clúster dedicado (documentación de Kafka).

Administrador de sistemas de AWS, administrador de la nube, DevOps ingeniero

Comience MirrorMaker.

Introduzca el siguiente comando para iniciar MirrorMaker y pasar el archivo mm2.properties.

$ ./bin/connect-mirror-maker.sh mm2.properties
Administrador de sistemas de AWS, administrador de la nube, DevOps ingeniero

Monitorear el progreso.

Compruebe el progreso inspeccionando el desfase entre el último desfase de cada tema y el desfase actual que MirrorMaker está consumiendo el tema. Para obtener más instrucciones, consulte Supervisar la georeplicación en la documentación de Kafka.

Administrador de sistemas de AWS, administrador de la nube, DevOps ingeniero
TareaDescripciónHabilidades requeridas

Detenga las aplicaciones de consumidor.

Detenga todas las aplicaciones de consumidor que consuman datos del clúster de origen.

Desarrollador de aplicaciones

Inicie las aplicaciones de consumidor.

Modifique la configuración de arranque de las aplicaciones para que apunte al clúster de destino. A continuación, comience a consumir en el clúster de destino.

Desarrollador de aplicaciones

Detenga los productores en el clúster de origen.

Cuando las aplicaciones de consumidor se estén consumiendo correctamente en el clúster de destino, detenga los productores del clúster de origen.

Desarrollador de aplicaciones

Inicie los productores en el clúster de destino.

Modifique la configuración de los servidores de arranque del productor y apunte al clúster de destino. Espere MirrorMaker a que termine de duplicar todos los datos del clúster de origen antes de iniciar los productores.

Desarrollador de aplicaciones

Pare. MirrorMaker

Una vez que los productores se hayan mudado al grupo objetivo, deténgase MirrorMaker.

Administrador de sistemas de AWS, administrador de la nube, DevOps ingeniero

Recursos relacionados

Recursos de AWS

Otros recursos

Información adicional

Este patrón ejecuta la MirrorMaker versión 2.0 como un MirrorMaker clúster dedicado en Amazon EC2. Esta opción es aceptable en entornos de desarrollo. Aunque no se describe en este patrón, también puede ejecutar MirrorMaker 2.0 en un clúster de Kafka Connect. Esta opción de implementación emplea un marco dentro del ecosistema de Kafka que mejora la escalabilidad y el mantenimiento. El conector se implementa en un clúster de Kafka Connect con la configuración asociada para ejecutar la aplicación. El conector se puede ejecutar en modo independiente para el desarrollo o las pruebas, o bien en modo distribuido para producción. Para obtener más información, consulte Ejecución MirrorMaker en un clúster de Connect (documentación de Apache Kafka). Para obtener más información sobre otras opciones de implementación de la MirrorMaker versión 2.0, consulte Tutorial: Ejecutar MirrorMaker 2.0 (documentación de Kafka).