在两个kafka集群同步topic

目标:把debezium节点所在集群上的kafka集群的名为sysdata的topic同步到目标集群cdh上的kafka集群上。

前提:在目标集群的相关节点的hosts文件配置好源集群主机信息。

[root@master01 kafka]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.108.81 master01
192.168.108.82 slave01
192.168.108.83 slave02
192.168.108.190 debezium(把源集群节点的host信息配置到目标集群的hosts)

1.在源集群创建topic

bin/kafka-topics.sh --zookeeper debezium:2181 --topic sysdata 
--replication-factor 1 --partitions 1 --create


2.在目标集群创建相同的topic

bin/kafka-topics.sh --zookeeper master01:2181 --topic sysdata 
--replication-factor 1 --partitions 1 --create

3 在命令行配置同步文件及启动:
3.1在目标集群创建consumer-wsm.properties和producer-wsm.properties

consumer-wsm.properties配置源集群的相关信息

producer-wsm.properties配置目标集群的相关信息

[root@master01 kafka]# vi consumer-wsm.properties
zookeeper.connect=debezium:2181
bootstrap.servers=debezium:9092
group.id=groupwsm-01
[root@master01 kafka]# vi producer-wsm.properties
zk.connect=slave01:2181,slave02:2180,master01:2181
bootstrap.servers=slave01:9092,slave02:9092,master01:9092


3.2在目标集群启动MirrorMaker,指定白名单为要同步的topic名字
 

[root@master01 kafka]# bin/kafka-run-class.sh kafka.tools.MirrorMaker 
--consumer.config consumer-wsm.properties 
--producer.config producer-wsm.properties 
--whitelist 'sysdata'

4.生产数据并写到源集群的相关topic

5.在目标集群消费相关topic

补充:

如果使用的目标集群是cdh,则只需在cdh中启动kafka Mirrormaker 角色,然后在配置页面配置好source broker list、destination broker list和白名单的topic。

白名单:允许在两个集群同步的topic

黑名单:不允许在两个集群同步的topic

 

可选配置:

6.MirrorMaker的参数说明参考:

https://www.cnblogs.com/sunxucool/p/3913131.html

 

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐