kafka-10-集群同步MirrorMaker命令的使用

注:本文使用的Kafka版本是

1 Kafka内置的MirrorMaker工具

1.1 简介

对于kafka数据的迁移使用kafka内置的MirrorMaker工具。
MirrorMaker是Kafka附带的一个用于在Kafka集群之间制作镜像数据的工具。该工具从源集群中消费并生产到目标群集。这种镜像的常见用例是在另一个数据中心提供副本。Kafka的镜像功能可以维护现有Kafka集群的副本。

下图显示了如何使用MirrorMaker工具将源Kafka集群镜像到目标Kafka集群。该工具使用Kafka消费者来使用来自源群集的消息,并使用嵌入式Kafka生成器将这些消息重新发布到本地(目标)集群。
在这里插入图片描述
对于迁移的topic而言,topic名字一样,partition数量可以不一样,消息的offset会不一样。

我们将在kafka集群之间复制数据的过程称为“镜像”,以避免与单个集群中节点之间发生的复制混淆。kafka附带了一个用于在kafka集群之间镜像数据的工具。该工具从源集群消费并生成到目标集群。此类镜像的一个常见用例是在另一个数据中心中提供副本。

数据将从源集群中的topic读取,并写入目标集群中同名的topic。事实上,MirrorMaker就是kafka的消费者和生产者。

源集群和目标集群是完全独立的实体:它们可以有不同数量的分区,并且偏移量不会相同。因此,镜像集群并不是真正意义上的容错机制(因为使用者的位置不同),所以我们建议使用正常的集群内复制。但是,mirror maker进程将保留并使用消息键进行分区,以便按每个键保留顺序。

#bin/kafka-mirror-maker.sh
--consumer.config consumer.properties
--producer.config producer.properties --whitelist my-topic

1.2 注意事项

(1)whitelist和blacklist支持正则表达式。

比如需要包含两个topic可以这样写,
--whitelist 'A|B' or --whitelist 'A,B'。
或者想迁移所有topic可以这样写 --whitelist '*'

(2)注意在迁移之前创建好相关topic以及规划好partition数量。

(3)老版本和新版本迁移主要考虑consumer和producer的兼容性。

(4)如果允许的话,建议将MirrorMaker部署在目标集群内,这是因为如果一旦发生网络分区,消费者与源集群断开连接比生产者与目标集群断开连接要安全。

如果消费者断开连接,那么只是当前读取不到数据,但是数据仍然在源集群内,并不会丢失;而生产者断开连接,MirrorMaker便生产不了数据,如果MirrorMaker本身处理不当,可能会丢失数据。

(5)开始之前配置好限流,防止影响原来集群的正常工作。

1.3 进度监控

(1)检测MirrorMaker提交到源集群的偏移。
我们可以使用kafka-consumer-groups来检测分区的最新偏移以及MirrorMaker提交的偏移,通过计算差值得到落后间隔。

(2)查看kafka的Topic相关监控,查看当前进度。

1.4 使用方法0.8.2版本

1.4.1 运行指令

#bin/kafka-mirror-maker.sh
 --consumer.config consumer.properties
 --producer.config producer.properties 
--whitelist “my-topic1,my-topic2”
配置说明:
--consumer.config	消费者配置,详情参考kafka consumer配置
--producer.config	生产者配置,详情参考kafka producer配置
--whitelist	需要mirror的topic,支持Java正则表达式,例如'ABTestMsg,AppColdStartMsg’
--blacklist	不需要拷贝的topic,支持Java正则表达式
--num.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮冰燃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值