kafka数据同步/镜像工具 kafka mirror maker

关注公众号:“程序员成长软技能” ,日拱一卒,功不唐捐!
公司数据收集后会写入kafka集群,近期涉及到机房搬迁,在完成机房搬迁移前,两个机房都有业务需要某些topic的数据,两种处理方案:1是数据写入时候双写 2是老机房数据写入完成后再同步至新机房kafka集群。本文介绍kafka自带的集群镜像工具MirrorMaker,实现kafka集群间的数据同步。

一、概括来说MirrorMaker就是kafka生产者与消费者的一个整合,通过consumer从源Kafka集群消费数据,然后通过producer将数据重新推送到目标Kafka集群,如下图:

流程图

二、MirrorMaker的使用相对也比较简单,下面说下启动命令及相关配置
启动脚本在$KAFKA_HOME/bin目录下,可通过命令kafka-run-class.sh kafka.tools.MirrorMaker查看相关说明:

相关参数

说明:
whitelist、blacklist:该工具可以同步源集群所有的或者部分topic,可以用白名单描述要同步的topic,用黑名单描述不需要同步的topic,多个topic直接逗号分隔,并且支持通配符(java http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html)
consumer.config:配置源kafka集群消费者相关信息
[plain] view plain copy
zookeeper.connect=zk1ip1:2181,zk1ip2:2181/kafka/
group.id=mirrorMaker
producer.config :配置目标kafka集群生产者相关信息
[plain] view plain copy
metadata.broker.list=b1:9092,b2:9092
compression.codec=none

启动命令:
sh KAFKA_HOME/bin/kafka-run-class.sh kafka.tools.MirrorMaker --consumer.configKAFKA_HOME/config/mirrorMakerConsumer.config --num.streams 2 --producer.config $KAFKA_HOME/config/amirrorMakerProducer.config —num.producers 2 --whitelist="topic2mirror"

参考:
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27846330
https://kafka.apache.org/documentation.html#basic_ops_mirror_maker

关注公众号:“程序员成长软技能” ,日拱一卒,功不唐捐!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • Kafka入门经典教程-Kafka-about云开发 http://www.aboutyun.com/threa...
    葡萄喃喃呓语阅读 10,897评论 4 54
  • 一、入门1、简介Kafka is a distributed,partitioned,replicated com...
    HxLiang阅读 3,494评论 0 9
  • 本文转载自http://dataunion.org/?p=9307 背景介绍Kafka简介Kafka是一种分布式的...
    Bottle丶Fish阅读 5,519评论 0 34
  • 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O...
    高广超阅读 12,931评论 8 167