Kafka Mirror Maker

原创
2017/01/20 16:44
阅读数 7.1K

介绍

        Kafka Mirror Maker,可以把kafka集群中的消息复制到另一个kafka集群,这在测试环境引流的时候,或者需要把多个不同kafka集群的消息合并在一个大集群的时候非常有用,kafka mirror maker的原理图如下:

        入上图架构,kafka mirror在部署的时候,是部署在target集群这边的,而且需要指定consumer和producer的配置文件。

配置文件

        source.consumer.configure:

bootstrap.servers=10.205.151.11:9092
zookeeper.connect=10.205.52.15:2181,10.205.52.16:2181,10.205.52.17:2181
zookeeper.connection.timeout.ms=1000000
group.id=prd-MirrorMaker-webjs
message.max.bytes=7000000
fetch.message.max.bytes=7500000
max.partition.fetch.bytes=7500000
replica.fetch.max.bytes=7500000

        target.producer.configure:

bootstrap.servers=10.205.58.25:9092,10.205.58.26:9092,10.205.58.27:9092
message.max.bytes=7000000
fetch.message.max.bytes=7500000
max.partition.fetch.bytes=7500000
replica.fetch.max.bytes=7500000

启动

        命令

kafka-run-class.sh kafka.tools.MirrorMaker  \
    --consumer.config ../config/source.consumer.configure  \
    --producer.config ../config/target.producer.configure   \
    --num.streams 4  \
	--new.consumer  \
    --whitelist="app_loginsession"

        参数

--consumer.config	指定针对source集群的consumer配置文件 
--producer.config	指定针对target集群的producer配置文件 
--whitelist	 一个逗号分隔的,希望复制的topic列表
--blacklist	 使用java正则匹配的topic列表,将会被拒绝复制
--num.streams	创建多少consumer流线程.	--num.streams 4
--num.producers	指定创建多少producer实例. --num.producers 2
--queue.size	多少消息会被buffer,Default = 10000. --queue.size 2000

检查

        命令

kafka-run-class.sh kafka.tools.ConsumerOffsetChecker  \
    --group KafkaMirror  \
    --zkconnect dc1-zk:2181  \
    --topic test-topic

        参数

--group	mirror进程中consumer的group名称.
--zkconnect	source kafka集群的zk地址.
--broker-info	source kafka集群的broker信息.
--topic	逗号分隔的你想查看的topic列表,如果没有指定,则显示所有的topic.

 

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部