Migre um cluster Apache Kafka local para o Amazon MSK usando MirrorMaker - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Migre um cluster Apache Kafka local para o Amazon MSK usando MirrorMaker

Criado por Han Zhang (AWS) e Tanner Pratt (AWS)

Resumo

Esse padrão fornece orientação para migrar um cluster do Apache Kafka on-premises, autogerenciado ou hospedado para o Amazon Managed Streaming for Apache Kafka (Amazon MSK). Você também pode usar esse padrão para migrar de um cluster do Amazon MSK para outro.

O Apache Kafka inclui o MirrorMaker recurso, que replica dados entre dois clusters do Kafka. MirrorMaker consiste em uma coleção de consumidores, que fazem parte de um grupo de consumidores. Os consumidores leem os dados dos tópicos no cluster de origem e, em seguida, passam esses dados aos produtores, que gravam os dados no cluster de destino.

A documentação do Amazon MSK contém uma visão geral de alto nível do processo de uso da MirrorMaker versão 1.0 para migrar clusters Kafka locais para o Amazon MSK. Esse padrão complementa essas informações oferecendo step-by-step instruções abrangentes para o uso da MirrorMaker versão 2.0.

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta AWS ativa

  • Um cluster de origem do Kafka que é um dos seguintes:

    • Em um datacenter on-premises

    • Autogerenciado na nuvem

    • Hospedado por meio de um parceiro

Limitações

  • Para usar a MirrorMaker versão 2.0, o cluster de origem deve estar operando o Apache Kafka versão 2.4.0 ou posterior. Para versões anteriores, consulte as instruções na documentação do Amazon MSK para usar a MirrorMaker versão 1.0.

Versões do produto

  • MirrorMaker versão 2.0

  • Apache Kafka versão 2.4.0 ou superior. Para obter mais informações sobre as versões do Apache Kafka suportadas pelo Amazon MSK, consulte Versões suportadas do Apache Kafka.

Arquitetura

Pilha de tecnologia de origem

  • Cluster Kafka on-premises ou autogerenciado

Pilha de tecnologias de destino

  • Cluster do Amazon MSK

Arquitetura de destino

MirrorMaker lê os dados no cluster de origem e os replica no cluster Amazon MSK de destino

O diagrama mostra o seguinte processo:

  1. MirrorMaker lê os dados dos tópicos e grupos de consumidores no cluster Kafka de origem.

  2. MirrorMaker replica os dados e as informações do consumidor para o cluster Amazon MSK de destino.

Ferramentas

Serviços da AWS

Outras ferramentas

  • Apache Kafka é uma plataforma de streaming de eventos de código aberto. Nesse padrão, você usa o MirrorMakerrecurso do Kafka para realizar a migração entre clusters.

Práticas recomendadas

Você pode executá-lo MirrorMaker nos ambientes de origem ou de destino, mas é recomendável executá-lo o mais próximo possível do cluster de destino. Para obter mais informações, consulte Boas práticas: consumir do remoto, produzir ao local na documentação do Apache Kafka.

Épicos

TarefaDescriçãoHabilidades necessárias

Crie uma VPC.

  1. Crie uma VPC na conta de destino da AWS. Para obter instruções, consulte Criar uma VPC.

  2. Crie três sub-redes privadas em zonas de disponibilidade diferentes na nova VPC. Para obter instruções, consulte Criar uma sub-rede. O uso de zonas de disponibilidade diferentes fornece alta disponibilidade e tolerância a falhas.

    nota

    Se você estiver usando uma conexão pública de internet para migrar o cluster Kafka, crie sub-redes públicas e habilite o acesso público ao cluster Amazon MSK.

Administrador de sistemas da AWS, DevOps engenheiro, administrador de nuvem

Crie o cluster do Amazon MSK.

Crie um cluster do Amazon MSK. Para obter instruções, consulte Criar um cluster usando o Console de Gerenciamento da AWS ou Criar um cluster usando a AWS CLI. Configure o cluster para usar a VPC e as sub-redes que você criou anteriormente.

Administrador de sistemas da AWS, DevOps engenheiro, administrador de nuvem
TarefaDescriçãoHabilidades necessárias

Instalar MirrorMaker.

  1. Execute uma EC2 instância.

  2. Conecte-se à sua EC2 instância.

  3. Na EC2 instância, baixe e extraia a versão mais recente do Kafka. Para obter instruções, consulte Início rápido (documentação do Kafka).

nota

Nesse padrão, você instala MirrorMaker 2.0 como um MirrorMaker cluster dedicado em uma EC2 instância da Amazon. Essa opção é aceitável para ambientes de desenvolvimento e é a abordagem usada nesse padrão. Para obter mais informações sobre outras opções de implantação para MirrorMaker 2.0, consulte a seção Informações adicionais desse padrão.

Administrador de sistemas da AWS, administrador de nuvem, DevOps engenheiro

Especifique as informações do cluster Kafka.

Na pasta bin de instalação do cliente Kafka, crie um arquivo mm2.properties e configure-o para seu cluster do Kafka de origem. Para obter instruções, consulte Como executar um MirrorMaker cluster dedicado (documentação do Kafka).

Administrador de sistemas da AWS, administrador de nuvem, DevOps engenheiro

Começar MirrorMaker.

Digite o comando a seguir para iniciar MirrorMaker e passar o arquivo mm2.properties.

$ ./bin/connect-mirror-maker.sh mm2.properties
Administrador de sistemas da AWS, administrador de nuvem, DevOps engenheiro

Monitorar o andamento.

Verifique o progresso inspecionando o intervalo entre o último deslocamento de cada tópico e o deslocamento atual do tópico que está sendo consumido. MirrorMaker Para obter instruções, consulte Monitoramento da replicação geográfica na documentação do Kafka.

Administrador de sistemas da AWS, administrador de nuvem, DevOps engenheiro
TarefaDescriçãoHabilidades necessárias

Interrompa os aplicativos de consumo.

Interrompa todos os aplicativos de consumo que consomem dados do cluster de origem.

Desenvolvedor de aplicativos

Inicie os aplicativos de consumo.

Altere a configuração de bootstrap dos aplicativos para apontar para o cluster de destino. Em seguida, comece a consumir no cluster de destino.

Desenvolvedor de aplicativos

Encerre todos os produtores no cluster de origem.

Quando os aplicativos do consumidor estiverem sendo consumidos com sucesso no cluster de destino, interrompa os produtores no cluster de origem.

Desenvolvedor de aplicativos

Iniciar os produtores no cluster de destino.

Altere a configuração dos servidores bootstrap do produtor e aponte para o cluster de destino. Aguarde MirrorMaker a conclusão do espelhamento de todos os dados do cluster de origem antes de iniciar os produtores.

Desenvolvedor de aplicativos

Pare MirrorMaker.

Depois que os produtores mudarem para o cluster de destino, pare MirrorMaker.

Administrador de sistemas da AWS, administrador de nuvem, DevOps engenheiro

Recursos relacionados

Recursos da AWS

Outros recursos

Mais informações

Esse padrão é executado na MirrorMaker versão 2.0 como um MirrorMaker cluster dedicado na Amazon EC2. Esta opção é aceitável para ambientes de desenvolvimento. Embora isso não seja discutido nesse padrão, você também pode executar a MirrorMaker versão 2.0 em um cluster do Kafka Connect. Essa opção de implantação usa uma estrutura dentro do ecossistema Kafka que melhora o dimensionamento e a manutenção. Você implanta o conector em um cluster do Kafka Connect com a configuração associada para executar o aplicativo. O conector pode ser executado no modo autônomo para desenvolvimento ou teste ou no modo distribuído para produção. Para obter mais informações, consulte Executando MirrorMaker em um cluster Connect (documentação do Apache Kafka). Para obter mais informações sobre outras opções de implantação MirrorMaker 2.0, consulte Passo a passo: Executando MirrorMaker 2.0 (documentação do Kafka).