Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Como transfiro dados entre clusters do Amazon MSK em contas diferentes com o MirrorMaker 2 que é executado no MSK Connect?
Quero usar o MirrorMaker 2.0 (MM2) que é executado no MSK Connect para transferir dados entre clusters do Amazon Managed Streaming for Apache Kafka (Amazon MSK) em contas da AWS diferentes.
Resolução
Configurar o emparelhamento da VPC
Quando os clusters do Amazon MSK estão em diferentes Amazon Virtual Private Clouds (Amazon VPC), é preciso criar uma conexão de emparelhamento da VPC.
Os grupos de segurança associados ao cluster do Amazon MSK de origem devem permitir todo o tráfego dos grupos de segurança do cluster de destino. Os grupos de segurança do cluster de destino também devem permitir todo o tráfego dos grupos de segurança do cluster do Amazon MKS de origem. Para mais informações, consulte Atualizar seus grupos de segurança para fazer referência a grupos de segurança de mesmo nível.
Observação: para referenciar um grupo de segurança em outra conta, inclua o número da conta no campo Origem ou Destino.
Criar um plug-in com informações do plug-in MM2
Observação: os plug-ins personalizados do MSK Connect aceitam um arquivo ou pasta com formato .jar ou .zip.
Conclua as etapas a seguir:
-
Para criar uma pasta de teste e depois compactá-la, execute os seguintes comandos:
mkdir mm2 zip mm2.zip mm2 -
Carregue o objeto .zip no seu bucket do Amazon Simple Storage Service (Amazon S3) na conta de destino:
aws s3 cp mm2.zip s3://mytestbucket/Observação: substitua s3://mytestbucket/ pelo URL do seu bucket do Amazon S3.
O Apache Kafka e o MSK Connect têm bibliotecas MirrorMaker incorporadas, então não é preciso adicionar arquivos .jar adicionais para essa funcionalidade. -
Na conta de destino, use o arquivo .zip para criar um plug-in personalizado e nomeie o arquivo mm2-connect-plugin.
Observação: ao usar o MSK Connect, é preciso ter um plug-in personalizado na criação do conector.
Criar um conector do MSK Connect na conta de destino
Conclua as etapas a seguir:
-
Abra o console do Amazon MSK.
-
No painel de navegação, em MSK Connect, escolha Conectores.
-
Escolha Criar conector.
-
Escolha Usar plug-in personalizado atual.
-
Em Plug-ins personalizados, selecione o plug-in personalizado que você criou e escolha Avançar.
-
Insira um nome para o conector.
(Opcional) Insira uma descrição. -
Na lista de clusters, escolha o cluster de destino.
-
Adicione uma configuração semelhante ao exemplo a seguir no campo de configuração do conector:
connector.class=org.apache.kafka.connect.mirror.MirrorSourceConnector tasks.max=1 clusters=primary,replica source.cluster.alias=primary target.cluster.alias=replica topics=example.* replication.factor=2 topic.creation.default.replication.factor=2 topic.creation.default.partitions=2 consumer.group.id=mm2-connector refresh.groups.interval.seconds=20 refresh.topics.interval.seconds=20 sync.topic.configs.interval.seconds=20 sync.topic.acls.interval.seconds=20 producer.enable.idempotence=true transforms=renameTopic transforms.renameTopic.type=org.apache.kafka.connect.transforms.RegexRouter transforms.renameTopic.regex=primary.(.*) transforms.renameTopic.replacement=$1 key.converter=org.apache.kafka.connect.converters.ByteArrayConverter value.converter=org.apache.kafka.connect.converters.ByteArrayConverter # Source cluster options source.cluster.bootstrap.servers= source.cluster.security.protocol=PLAINTEXT # Target cluster options target.cluster.bootstrap.servers= target.cluster.security.protocol=PLAINTEXT -
Defina a capacidade do seu conector.
-
Em Configuração do processamento, escolha Usar configuração padrão do MSK.
-
Em Permissões de acesso, escolha o perfil do AWS Identity and Access Management (AWS IAM) que fornece as permissões necessárias para o MSK Connect. Em seguida, escolha Próximo.
-
Na página Segurança, em Criptografia - em trânsito, escolha Tráfego de texto simples. Em seguida, escolha Próximo.
-
(Opcional) Na página Logs, defina a entrega de logs. Em seguida, escolha Próximo.
-
Em Revisar e criar, escolha Criar conector.
Observação: com a configuração anterior, para replicar cada tópico do cluster de origem, o MM2 cria dois tópicos no cluster de destino. Por exemplo, se você tiver o tópico exampleTopic1 no cluster de origem, o MM2 criará os tópicos primary.exampleTopic1 e exampleTopic1 no cluster de destino. Em seguida, o MM2 encaminha as mensagens para o tópico exampleTopic1.
Criar uma instância de cliente
Você deve criar uma instância de cliente para criar tópicos e produzir ou consumir dados de tópicos.
Conclua as etapas a seguir:
-
Execute uma instância do Amazon Elastic Compute Cloud (Amazon EC2) e, em seguida, conecte-se à instância.
-
Para instalar o Java na máquina cliente, execute o comando a seguir:
sudo yum -y install java-11 -
Para baixar o Apache Kafka, execute o comando a seguir:
wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.12-2.8.1.tgz tar -xzf kafka_2.12-2.8.1.tgz -
Crie o tópico exampletopic1 no cluster do Amazon MSK na conta de origem:
kafka-installation-path/bin/kafka-topics.sh --create --bootstrap-server SourceMSKclusterBootstrapServerString --replication-factor 3 --partitions 1 --topic exampletopic1Observação: substitua kafka-installation-path pelo caminho de onde você instalou o Kafka em seu sistema. Substitua SourceMSKclusterBootstrapServerString pela string do servidor Bootstrap do cluster do Amazon MSK de origem.
-
Produza dados no cluster na conta de origem:
Kafka-installation-path/bin/kafka-console-producer.sh --broker-list SourceMSKclusterBootstrapServerString --topic exampletopic1Observação: substitua kafka-installation-path pelo caminho de onde você instalou o Kafka em seu sistema. Substitua SourceMSKclusterBootstrapServerString pela string do servidor Bootstrap do cluster do Amazon MSK de origem.
Saída esperada:>message 1 >message 2 -
Liste os tópicos do cluster na conta de destino:
Kafka-installation-path/bin/kafka-topics.sh --bootstrap-server TargetMSKclusterBootstrapServerString --listObservação: substitua kafka-installation-path pelo caminho de onde você instalou o Kafka em seu sistema. Substitua TargetMSKclusterBootstrapServerString pela string do servidor Bootstrap do cluster do Amazon MSK de destino.
Exemplo de saída:__amazon_msk_canary __amazon_msk_connect_configs_mm2-***** __amazon_msk_connect_offsets_mm2-***** __amazon_msk_connect_status_mm2-***** __consumer_offsets exampleTopic1 primary.exampleTopic1 -
Consuma dados do cluster de destino:
Kafka-installation-path/bin/kafka-console-consumer.sh --bootstrap-server TargetMSKclusterBootstrapServerString --topic exampletopic1 --from-beginningObservação: substitua kafka-installation-path pelo caminho de onde você instalou o Kafka em seu sistema. Substitua TargetMSKclusterBootstrapServerString pela string do servidor Bootstrap do cluster do Amazon MSK de destino.
Saída esperada:>message 1 >message 2
Informações relacionadas
- Tópicos
- Analytics
- Idioma
- Português

Conteúdo relevante
- feita há 4 meses
- feita há 4 meses
- feita há 9 meses
AWS OFICIALAtualizada há 4 meses