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