Kafka MirrorMaker 跨集群数据迁移
参考:
1、使用 Apache Kafka 的 MirrorMaker 迁移集群
sh /home/pirate/programs/kafka/bin/kafka-run-class.sh -daemon -name tutorials -loggc kafka.tools.MirrorMaker --consumer.config /home/pirate/programs/kafka/config/mirror-consumer.properties --producer.config /home/pirate/programs/kafka/config/mirror-producer.properties --whitelist 'udplog-role-create|udplog-role-login|udplog-role-logout'
在此命令中,需要配置消费端和生产端ip端口,config/mirrormaker-consumer.properties
指向 CLUSTER_ONPREM
中的引导代理;例如,bootstrap.servers=localhost:9092
。config/mirrormaker-producer.properties
指向 CLUSTER_AWSMSK 中的引导代理;例如,bootstrap.servers=10.0.0.237:9092,10.0.2.196:9092,10.0.1.233:9092
。
2、大型kafka集群平滑迁移
- 配套的zk迁移就比较简单了,起新节点加入zk集群,稳定后关停旧节点。
- 新增N个broker加入集群,将所有topic分区只分配给新broker,执行分配任务后,kafka将旧broker的分区数据复制到新broker,新broker成为各分区的leader,随后kafka删除旧broker上的分区数据;
- 整个过程中客户端应用正常生产消费消息,执行结束后使用新的消费者组从头消费可以获取到全部历史消息。
- 停止旧broker后,正在运行的客户端应用正常生产消费消息,新建客户端连接旧broker失败,连接新broker则正常。
posted on 2021-12-03 18:13 RICH-ATONE 阅读(418) 评论(0) 编辑 收藏 举报