35 | 跨集群备份解决方案MirrorMaker
该思维导图由 AI 生成,仅供参考
什么是 MirrorMaker?
- 深入了解
- 翻译
- 解释
- 总结
Kafka的跨集群数据拷贝可以通过MirrorMaker工具实现。MirrorMaker是一个消费者+生产者的程序,用于实现消息或数据从一个Kafka集群到另一个集群的拷贝。它可以实时同步消息,并支持多套集群部署,用于不同目的。运行MirrorMaker需要指定消费者配置、生产者配置、线程数以及要执行数据镜像的主题正则表达式。在实际使用中,可以根据机器性能设置多个线程。MirrorMaker内部消费者将在未来版本中使用轮询策略来分配分区,以实现更均匀的分配效果。MirrorMaker的使用方法包括启动两套Kafka集群、准备配置文件、运行MirrorMaker工具。通过MirrorMaker工具,可以实现Kafka集群间的数据镜像,为读者提供了一种实用的解决方案。 MirrorMaker的主要功能简单易用,但运维成本较高,性能也有限。因此,业界出现了一些自行开发的跨集群镜像工具,如Uber的uReplicator、LinkedIn的Brooklin Mirror Maker和Confluent公司的Replicator工具。这些工具针对MirrorMaker的缺陷进行了改进,提供更灵活、高效的跨集群数据备份解决方案。其中,Replicator工具还提供了企业级的跨集群镜像方案,能够自动在目标集群上创建与源集群一模一样的主题,极大地方便了运维管理。 总的来说,MirrorMaker是Apache Kafka社区提供的跨集群镜像解决方案,适用于数据备份、主备集群等场景。读者可以根据自身业务需求,选择合适的工具来完成跨集群的数据备份。文章还提到了对MirrorMaker进行消息处理的方法,欢迎读者参与讨论。
《Kafka 核心技术与实战》,新⼈⾸单¥68
全部留言(20)
- 最新
- 精选
- 无菇朋友老师您好,问一下怎么在本地搭建两个kafka集群
作者回复: 设置zookeeper.connect时使用不同的chroot,比如一个是zk:2181/kafka1,另一个是zk:2181/kafka2
2019-09-0210 - 蒙开强老师,你好,你提的这几款工具,MirrorMaker是免费的,其它的也是免费可以用的么
作者回复: LinkedIn的Brooklin MM好像没有开源,Confluent的Replicator要收费,Uber的uReplicator应该开源了
2019-08-2226 - 咸淡一首诗胡老师,想问一下,MirrorMaker 工具能保证同步前后分区序号,以及分区位移是一样的吗?
作者回复: 很难。我指的是实际环境中,至少代价极大。就拿位移来说你就很难保证严格一致。
2020-03-1524 - wgcris老师,您好,请教个问题,如果使用mirrormaker做集群数据同步,是不是内部topic数据也一起进行同步?另外在主备场景下,如果主集群挂了,如何保证备集群能正常提供服务,客户端消费数据是正确的
作者回复: 默认是不同步内部topic,如果要同步的话,需要两个条件:在consumer.config中设置exclude.internal.topics=false以及在producer.config中设置client.id=__admin_client。具体参见这个jira: https://issues.apache.org/jira/browse/KAFKA-6524 如果主挂了,client需要自行处理切换的问题,目前Kafka端尚未自动切换的解决方案
2019-11-243 - 猪哥灰老师好,想请教一下mirrormaker是否支持两个分别支持不同认证方式的kafka集群,或者两个不同kerberos认证的集群
作者回复: mirrormaker 1是不支持的,可以考虑使用MM2
2020-05-261 - 大坏狐狸完了 我咋感觉 用不到这东西。我又怕以后用到了。
作者回复: MM后面应用的场景还是很多的,加油
2020-03-201 - wgcris老师,您好,再请教个问题最近我们生产环境发现,broker进程意外挂掉之后,重启broker时间会很长,当数据量很大的时候,浏览了一下社区,KIP-263提了一个解决方案,而且已经合入到2.3版本,但测试发现并没有什么效果,不知道您有了解这方面的优化吗?
作者回复: 这个KIP还在讨论中啊,没有进2.3版本。基本上都是因为加载日志段时间过长导致的。目前社区针对这个问题的终极解决方案是KIP-500
2019-11-2621 - 蓝色海洋老师,我想问问,低版本的集群消息可以同步到高版本集群吗,目前版本是0.8想同步到2.0集群
作者回复: 个人觉得使用MirrorMaker似乎也是可以的,只是版本跨度有点大~ 0.8和2.0的消息格式都是不一样的,
2019-10-3021 - RJZ用kafka connector实现可以不
作者回复: Kafka Connect多是实现Kafka与其他外部系统之间的互连,不是用于Kafka多集群间的数据迁移,而且也没有对应的kafka connector....
2019-08-271 - 夏末?秋初老师,如果用mirrormaker作为集群间数据迁移工具,迁移后能否保证消费位移一致,前提是源端目的端所有配置、主题、分区数这些都一致,mirrormaker能否达到这种场景下的迁移啊?
作者回复: 可以保证,因为mirrormaker也可以迁移__consumer_offsets,只是我严重怀疑在实践中做到这点还是有点技术含量:)
2020-12-04