您的位置:首页 > 其它

mirrormaker

2018-01-05 17:03 821 查看

概述



Mirroring data between clusters (Source Cluster ---> Destination Cluster)

就是通过使用kafka自带的mirror-maker工具把一个集群里的主题cp到另外一个kafka集群中,使用场景:1、数据需要迁移到新集群; 2、多个集群之间的数据需要同步…………

使用

nohup bin/kafka-mirror-maker --consumer.config  mirror-maker-consumer.properties  --offset.commit.interval.ms 5000 --producer.config  mirror-maker-producer.properties   --whitelist  '.*mirrormaker' &
两个自建的配置文件。
1、mirror-maker-consumer.properties
bootstrap.servers=hostname1:9094,hostname2:9094(Source Cluster kafka地址)
group.id=mirror-maker(自己取)
auto.offset.reset=earliest
2、mirror-maker-producer.properties
bootstrap.servers=hostname1:9094,hostname2:9094(Destination Cluster kafka地址,就是本集群的地址)
acks=all
retries=2147483647
request.timeout.ms=3600000
解释:

--offset.commit.interval.ms 5000    消费的offset提交时间间隔5秒
--whitelist  '.*mirrormaker'    需要mirrormaker的白名单,可使用正则表达式,也可以直接是某一个具体的主题,对应的是黑名单,--blacklist

检测

粗略的检测:查看mirror主题的log文件更新时间
精确的检测:查看mirror主题的offsets,可以参考另一篇:http://blog.csdn.net/forrest_ou/article/details/78978575

理解

1、对于mirrormaker的过程:mirror-maker会先去Source Cluster消费,把消费得到的消息生产到Destination Cluster。所有会有命令中的两个配置文件,一个消费配置文件,一个生产配置文件。
2、关于是否需要在Destination Cluster中创建与Source Cluster一样的主题。答案是可创可不创,创建了就用创建了的,没有会自动创建,自动创建结合配置auto.create.topics.enable=true,默认为true
3、当出现具体主题的mirror成功,使用正则的停滞。首先测试Source Cluster 有没有问题,从Source Cluster消费单个主题是否可行。如果两个都行的通,原因是正则包含的主题里面有主题是不能消费的,一直retry,mirror-maker停滞。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  kafka mirrormaker