Kafka跨集群迁移方案MirrorMaker

原理

MirrorMaker 是Kafka 官方提供的跨数据中心的流数据同步方案。

原理:通过从Source Cluster消费消息然后把消息生产到Target Cluster。

操作:用户只要通过简单的consumer配置和producer配置,然后启动Mirror,就可以实现准实时的数据同步。

实现步骤:

环境:(单机测试)

Source A机器: IP 111.111.111.111 kafka端口号:9092 zookeeper端口号:2181

Target B机器: IP 222:222:222:222 kafka端口号:9092 zookeeper端口号:2181

mirror的作用就是消费A机器kafka集群中生产的消息,然后在B集群中生产

配置:

第一步:配置生产和消费的配置文件

#cat sourceClusterConsumer.config bootstrap.servers=111:111:111:111:9092 group.id=test-consumer-group

###下面这些配置是因为A机器中加了权限的设置,因此mirror在消费A集群生产的消息的时候要给一个读的账号

###如果集群没有配置权限,下面三条配置可有忽略

#security.protocol=SASL_PLAINTEXT #sasl.mechanism=SCRAM-SHA-512 #sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="#" password="#"; #cat targetClusterProducer.config bootstrap.servers=222:222:222:222:9092 compression.type=none

###下面这些配置是因为B机器中加了权限的设置,因此mirror在往B集群生产消息的时候要给一个写的账号

###如果集群没有配置权限,下面三条配置可有忽略 security.protocol=SASL_PLAINTEXT sasl.mechanism=SCRAM-SHA-512 sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="#" password="#";

第二步:启动

#cat start-mirror.sh

kafka-mirror-maker.sh --consumer.config sourceClusterConsumer.config --producer.config targetClusterProducer.config --whitelist topicA,topicB

备注:多个白名单用逗号隔开

chmod u+x start-mirror.sh

sh start-mirror.sh

经验分享 程序员 微信小程序 职场和发展