searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

MirrorMaker迁移Kafka数据

2024-07-04 03:51:32
34
0

 

数据迁移

本文介绍如何使用MirrorMaker将自建Kafka集群的数据迁移到云消息队列 Kafka 版集群。

 

前提条件

您已完成以下操作:

  • 下载迁移工具MirrorMaker

背景信息

Kafka的镜像特性可实现Kafka集群的数据备份。实现这一特性的工具就是MirrorMaker。您可以使用MirrorMaker将源集群中的数据镜像拷贝到目标集群。如下图所示,Mirror Maker使用一个内置的Consumer从源自建Kafka集群消费消息,然后再使用一个内置的Producer将这些消息重新发送到目标云消息队列 Kafka 版集群。

 

更多信息,请参见Apache Kafka MirrorMaker

 

注意事项

  • Topic名称必须一致。

  • 分区数量可以不一致。

  • 在同一个分区中的数据迁移后并不保证依旧在同一个分区中。

  • 默认情况下,Key相同的消息会分布在同一分区中。

  • 普通消息在宕机时可能会乱序,分区顺序消息在宕机时依然保持顺序。

VPC接入

1、配置consumer.properties。

## 自建Kafka集群的接入点

bootstrap.servers=XXX.XXX.XXX.XXX:9092

## 消费者分区分配策略

partition.assignment.strategy=org.apache.kafka.clients.consumer.RoundRobinAssignor

## Group的名称

group.id=test-consumer-group

2、配置producer.properties。

 

## 云消息队列 Kafka 版集群的默认接入点(可在云消息队列 Kafka 版控制台获取)

bootstrap.servers=XXX.XXX.XXX.XXX:9092

## 数据压缩方式

compression.type=none                               

3、执行以下命令开启迁移进程。

sh bin/kafka-mirror-maker.sh --consumer.config config/consumer.properties --producer.config config/producer.properties --whitelist topicName

公网接入

1、构造kafka.client.truststore.jks。

2、配置kafka_client_jaas.conf。

KafkaClient {

   org.apache.kafka.common.security.plain.PlainLoginModule required

   username="your username"

   password="your password";

};

3、配置consumer.properties。

## 自建Kafka集群的接入点

bootstrap.servers=XXX.XXX.XXX.XXX:9092

## 消费者分区分配策略

partition.assignment.strategy=org.apache.kafka.clients.consumer.RoundRobinAssignor

## Group名称

group.id=test-consumer-group

4、配置producer.properties。

## 云消息队列 Kafka 版集群的SSL接入点(可在云消息队列 Kafka 版控制台获取)

bootstrap.servers=XXX.XXX.XXX.XXX:9093

## 数据压缩方式

compression.type=none

## truststore(使用步骤1下载的文件)

ssl.truststore.location=kafka.client.truststore.jks

ssl.truststore.password=KafkaOnsClient

security.protocol=SASL_SSL

sasl.mechanism=PLAIN

 

## 2.X版本在配置SASL接入时需要做以下配置,2.X以下版本不需要配置。

ssl.endpoint.identification.algorithm=

设置java.security.auth.login.config。

export KAFKA_OPTS="-Djava.security.auth.login.config=kafka_client_jaas.conf"                             

5、执行以下命令开启迁移进程。

sh bin/kafka-mirror-maker.sh --consumer.config config/consumer.properties --producer.config config/producer.properties --whitelist topicName

结果验证

您可通过以下任一方法验证MirrorMaker是否运行成功。

1、通过kafka-consumer-groups.sh查看自建集群消费进度。

bin/kafka-consumer-groups.sh --new-consumer --describe --bootstrap-server自建集群接入点 --group test-consumer-group

 

2、往自建集群中发送消息,在 Kafka 管理控制台中查看Topic的分区状态,确认当前服务器上消息总量是否正确。您还可以通过云消息队列 Kafka 版控制台来查看具体消息内容。具体操作,请参见查询消息。

0条评论
0 / 1000
s****n
7文章数
0粉丝数
s****n
7 文章 | 0 粉丝
原创

MirrorMaker迁移Kafka数据

2024-07-04 03:51:32
34
0

 

数据迁移

本文介绍如何使用MirrorMaker将自建Kafka集群的数据迁移到云消息队列 Kafka 版集群。

 

前提条件

您已完成以下操作:

  • 下载迁移工具MirrorMaker

背景信息

Kafka的镜像特性可实现Kafka集群的数据备份。实现这一特性的工具就是MirrorMaker。您可以使用MirrorMaker将源集群中的数据镜像拷贝到目标集群。如下图所示,Mirror Maker使用一个内置的Consumer从源自建Kafka集群消费消息,然后再使用一个内置的Producer将这些消息重新发送到目标云消息队列 Kafka 版集群。

 

更多信息,请参见Apache Kafka MirrorMaker

 

注意事项

  • Topic名称必须一致。

  • 分区数量可以不一致。

  • 在同一个分区中的数据迁移后并不保证依旧在同一个分区中。

  • 默认情况下,Key相同的消息会分布在同一分区中。

  • 普通消息在宕机时可能会乱序,分区顺序消息在宕机时依然保持顺序。

VPC接入

1、配置consumer.properties。

## 自建Kafka集群的接入点

bootstrap.servers=XXX.XXX.XXX.XXX:9092

## 消费者分区分配策略

partition.assignment.strategy=org.apache.kafka.clients.consumer.RoundRobinAssignor

## Group的名称

group.id=test-consumer-group

2、配置producer.properties。

 

## 云消息队列 Kafka 版集群的默认接入点(可在云消息队列 Kafka 版控制台获取)

bootstrap.servers=XXX.XXX.XXX.XXX:9092

## 数据压缩方式

compression.type=none                               

3、执行以下命令开启迁移进程。

sh bin/kafka-mirror-maker.sh --consumer.config config/consumer.properties --producer.config config/producer.properties --whitelist topicName

公网接入

1、构造kafka.client.truststore.jks。

2、配置kafka_client_jaas.conf。

KafkaClient {

   org.apache.kafka.common.security.plain.PlainLoginModule required

   username="your username"

   password="your password";

};

3、配置consumer.properties。

## 自建Kafka集群的接入点

bootstrap.servers=XXX.XXX.XXX.XXX:9092

## 消费者分区分配策略

partition.assignment.strategy=org.apache.kafka.clients.consumer.RoundRobinAssignor

## Group名称

group.id=test-consumer-group

4、配置producer.properties。

## 云消息队列 Kafka 版集群的SSL接入点(可在云消息队列 Kafka 版控制台获取)

bootstrap.servers=XXX.XXX.XXX.XXX:9093

## 数据压缩方式

compression.type=none

## truststore(使用步骤1下载的文件)

ssl.truststore.location=kafka.client.truststore.jks

ssl.truststore.password=KafkaOnsClient

security.protocol=SASL_SSL

sasl.mechanism=PLAIN

 

## 2.X版本在配置SASL接入时需要做以下配置,2.X以下版本不需要配置。

ssl.endpoint.identification.algorithm=

设置java.security.auth.login.config。

export KAFKA_OPTS="-Djava.security.auth.login.config=kafka_client_jaas.conf"                             

5、执行以下命令开启迁移进程。

sh bin/kafka-mirror-maker.sh --consumer.config config/consumer.properties --producer.config config/producer.properties --whitelist topicName

结果验证

您可通过以下任一方法验证MirrorMaker是否运行成功。

1、通过kafka-consumer-groups.sh查看自建集群消费进度。

bin/kafka-consumer-groups.sh --new-consumer --describe --bootstrap-server自建集群接入点 --group test-consumer-group

 

2、往自建集群中发送消息,在 Kafka 管理控制台中查看Topic的分区状态,确认当前服务器上消息总量是否正确。您还可以通过云消息队列 Kafka 版控制台来查看具体消息内容。具体操作,请参见查询消息。

文章来自个人专栏
消息组件-shenyd
6 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0