在两个kafka集群同步topic

在两个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

在两个kafka集群同步topic_第1张图片

 

在两个kafka集群同步topic_第2张图片

可选配置:

在两个kafka集群同步topic_第3张图片

在两个kafka集群同步topic_第4张图片

6.MirrorMaker的参数说明参考:

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

 

你可能感兴趣的:(大数据,kafka)