Migre um cluster Apache Kafka local para a Amazon usando MSK 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 a Amazon usando MSK MirrorMaker

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

Ambiente: PoC ou piloto

Origem: on-premises ou cluster autogerenciado do Apache Kafka

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

Tipo R: redefinir a plataforma

Workload: código aberto; todas as outras workloads

Tecnologias: análise; big data; migração

AWSserviços: Amazon MSK

Resumo

Esse padrão fornece orientação para migrar um cluster Apache Kafka local, 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 MSK cluster da Amazon 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 MSK documentação da Amazon 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 a 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 AWS conta 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 MSKdocumentação da Amazon 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 pela AmazonMSK, consulte Versões suportadas do Apache Kafka.

Arquitetura

Pilha de tecnologia de origem

  • Cluster Kafka on-premises ou autogerenciado

Pilha de tecnologias de destino

  • MSKCluster Amazon

Arquitetura de destino

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

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 MSK cluster de destino da Amazon.

Ferramentas

AWSserviços

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

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

  2. Crie três sub-redes privadas em diferentes zonas de disponibilidade 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 da Amazon. MSK

AWSadministrador de sistemas, DevOps engenheiro, administrador de nuvem

Crie o MSK cluster da Amazon.

Crie um MSK cluster da Amazon. Para obter instruções, consulte Criação de um cluster usando o console AWS de gerenciamento ou Criação de um cluster usando AWS CLI o. Configure o cluster para usar as sub-redes VPC e que você criou anteriormente.

AWSadministrador de sistemas, 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).

Observação: 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.

AWSadministrador de sistemas, 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).

AWSadministrador de sistemas, 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
AWSadministrador de sistemas, 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.

AWSadministrador de sistemas, 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.

AWSadministrador de sistemas, administrador de nuvem, DevOps engenheiro

Recursos relacionados

AWSrecursos

Outros recursos

Mais informações

Esse padrão é executado na MirrorMaker versão 2.0 como um MirrorMaker cluster dedicado na AmazonEC2. 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).