kafka跨集群同步方案
Kafka跨集群同步、创建Kafka集群镜像等相关问题,主要使用Kafka内置的MirrorMaker工具实现。
Kafka镜像即已有Kafka集群的副本。使用MirrorMaker工具创建从源Kafka集群(source cluster)到目标Kafka集群(target cluster)的镜像。该工具通过Kafka consumer从源Kafka集群消费数据,然后通过一个内置的Kafka producer将数据重新推送到目标Kafka集群。
首先搭建数据源集群S集群和目标集群T集群,也就是把S集群的kafka数据复制到目标集群T上
一、创建consumer配置文件:consumer-wsm.properties
zookeeper.connect=f14cp-sc-hdp002:2181,f14cp-sc-hdp005:2181,f14cp-sc-hdp018:2181 group.id=groupwsm-01 zookeeper.connection.timeout.ms=6000 rebalance.max.retries=5 rebalance.backoff.ms=1200 auto.offset.reset=smallest
注意:配置的参数根据不同版本略微不同
二、创建producer配置文件:producer-wsm.properties
metadata.broker.list = f14cp-kf1-hdp01:6667,f14cp-kf1-hdp02:6667,f14cp-kf1-hdp03:6667
value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
key.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
注意:配置的参数根据不同版本而不同
三、执行命令
bin/kafka-mirror-maker.sh --consumer.config consumer-wsm.properties --num.streams 5 --producer.config producer-wsm.properties --num.producers 3 --queue.size 20000 --whitelist 'topic1,topic2,topic3'
MirrorMaker参数说明:
可以用命令kafka-mirror-maker.sh help 查看
whitelist 白名单 要同步的那些主题(topic)列表
blacklist 黑名单 不要同步的那些主题(topic)列表
queue.size consumer到producer中间的缓存大小,默认10000
--new.producer 使用新的生产者,此时同步速度会大大提高,配置文件producer中的metadata.list应改为bootstrap.servers