https://blog.csdn.net/qq_39680564/article/details/127048316
MirrorMaker 创建一个通道将源端与目的端联通
MirrorMaker 作为消费者,消费源集群;MirrorMaker 作为生产者,将消息推送到目标集群
MirrorMaker 可将 topic 中的历史消息,以及后续产生的消息实时同步到目标集群
该工具在 kafka 安装包的 bin 目录 kafka-mirror-maker.sh
部署 MirrorMaker 的机器需要打通源端与目标端的网络
vim config/consumer.properties
bootstrap.servers=10.11.113.181:9092,10.11.113.182:9092,10.11.113.183:9092
group.id=test-consumer-group
partition.assignment.strategy=org.apache.kafka.clients.consumer.RoundRobinAssignor
auto.offset.reset=earliest
参数 | 说明 |
---|---|
bootstrap.servers | 自建实例的 broker 接入点列表 |
group.id | 迁移数据时用到的消费者组 ID,请勿与实例已存在的消费者命名重复冲突 |
partition.assignment.strategy | 分区分配的策略 |
auto.offset.reset | 消息读取范围,earliest:从最早消息开始 |
vim config/producer.properties
bootstrap.servers=10.11.113.184:9092,10.11.113.185:9092,10.11.113.186:9092
compression.type=none
参数 | 说明 |
---|---|
bootstrap.servers | 目标端实例的 broker 接入点列表。 |
compression.type | 数据压缩类型 |
bin/kafka-mirror-maker.sh \
--consumer.config config/consumer.properties \
--producer.config config/producer.properties \
--whitelist my-test-topic
whitelist: 为 java 正则表达式,迁移匹配正则名称的 Topic。
bin/kafka-consumer-groups.sh \
--bootstrap-server 10.11.113.181:9092,10.11.113.182:9092,10.11.113.183:9092 \
--describe \
--group test-consumer-group
目标端查看 topic 列表
bin/kafka-topics.sh --zookeeper 10.11.113.184:2181 --list
查看 topic 中的历史消息
bin/kafka-console-consumer.sh --bootstrap-server 10.11.113.184:9092 --topic my-test-topic --from-beginning
源端向该 topic 实时生产消息
$ bin/kafka-console-producer.sh --bootstrap-server 10.11.113.181:9092 --topic my-test-topic
>1
>2
>3
>4
>5
>6
>7
>8
>9
查看目标端的 topic 是否接收
$ bin/kafka-console-consumer.sh --bootstrap-server 10.11.113.184:9092 --topic my-test-topic --from-beginning
1
2
3
4
5
6
7
8
9