Kafka使用MirrorMaker同步数据的两种方式

这篇具有很好参考价值的文章主要介绍了Kafka使用MirrorMaker同步数据的两种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.前言

MirrorMaker 是 Kafka官方提供的跨数据中心的流数据同步方案。原理是通过从 原始kafka集群消费消息,然后把消息发送到 目标kafka集群。操作简单,只要通过简单的 consumer配置和 producer配置,然后启动 Mirror,就可以实现准实时的数据同步。

2.独立 Kafka集群使用 MirrorMaker

2.1 开启远程连接

这里需要确保 目标Kafka集群(接收数据的那个集群)已开启远程连接,开启方法如下:

# 修改 kafka配置文件中下面两个配置
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://192.168.xx.xx:9092

其中 192.168.xx.xx是对外提供服务的IP,修改为目标集群的 IP即可。

2.2 准备 consumer.properties

这个配置文件指定原始集群的信息。具体内容如下:

# 原始集群的broker list
bootstrap.servers=host1:9092,host2:9093 
# 指定一个新的 id即可
group.id=test-consumer-group1
auto.offset.reset=earliest

2.3 准备 producer.properties

这个配置文件指定目标集群的信息。具体内容如下:

# 目标集群的broker list
bootstrap.servers=host5:9092,host6:9093
# 数据压缩方式,加快数据同步速度
compression.type=gzip 

2.4 启动 MirrorMaker开始同步数据

进入 kafka安装目录后执行下面的命令:

./kafka-mirror-maker.sh --consumer.config /opt/kafka/consumer.properties --producer.config /opt/kafka/producer.properties --whitelist topic001

这里就需要用到前面两个准备好的文件了,另外,–whitelist指定需要同步的 topic,–blacklist是不需要同步的,这两个符合 java正则表达式形式。

3.在 CDH中开启 MirrorMaker

3.1 界面添加 MirrorMaker实例

Kafka使用MirrorMaker同步数据的两种方式
Kafka使用MirrorMaker同步数据的两种方式

3.2 配置Broker和需要同步的Topic

这里需要注意:所有需要同步的 topic要预先在 目标kafka集群中创建。

Kafka使用MirrorMaker同步数据的两种方式

3.3 重启MirrorMaker实例

前面步骤顺利执行完,界面会多一个 Kafka MirrorMaker实例,如下,重启即可

Kafka使用MirrorMaker同步数据的两种方式

4.总结

CDH对 Kafka MirrorMaker的支持度不错,稳定性也能经得起时间的检验。另外,这种备份方式属于实时备份,很适合对数据完整性和及时性要求较高的项目,能最大程度地确保通过 kafka流转的数据的及时可用。还有一个好处是,当 kafka集群1因为某种原因无法工作时,可以迅速切换到集群2,且两个集群的数据几乎一致。文章来源地址https://www.toymoban.com/news/detail-413036.html

到了这里,关于Kafka使用MirrorMaker同步数据的两种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pytorch使用gpu的两种方式

    在使用gpu进行训练或推理会比纯用cpu快好几倍,所以一般我们如果设备有gpu都尽量会用上gpu。 首先能使用gpu的有:数据(输入的图片、标注的label),损失函数,网络模型。 这三处都调用.cuda()进行返回。 网络模型: 损失函数: 数据(输入的图片、标注的label): 训练集、

    2024年02月16日
    浏览(36)
  • Vue中强制更新数据的两种方式

    有时候我们发现修改了数据源后视图并没有更新,这里提供两种解决方案 Vue中强制更新数据的方法有两种。 方法一: 使用forceUpdate强制渲染,更新视图和数据。 注:全局强制刷新,性能消耗高。 方法二: this.$set()方法是Vue自带的可对数组和对象进行赋值,并触发监听的方法

    2024年02月11日
    浏览(54)
  • Qt多线程使用的两种方式

    方式1 :继承自QThread类,重载run函数。此实现方法只有run()函数内的代码是运行在子线程内。 (不使用事件循环) 使用方法 : (1)run函数内有一个while或for的死循环(模拟耗时操作); (2)通过一个 标记位 来控制死循环的退出; (3)run()函数中无限循环记得 强制休息

    2023年04月10日
    浏览(47)
  • 使用finksql方式将mysql数据同步到kafka中,每次只能同步一张表

    使用finksql方式将mysql数据同步到kafka中,每次只能同步一张表

    2024年02月11日
    浏览(42)
  • 数据结构学习系列之顺序表的两种插入方式

    方式1: 在顺序表 末端插入 数据元素,代码如下: 示例代码: 注意事项: 1.形参传入到具有插入数据元素功能的函数后,需要做 入参合理性检查 ; 2.还需要判断此时 顺序表所存储的数据元素是否已满 ; 3.本示例代码中的 count是计数的变量 , 每次插入一个数据元素后,需

    2024年02月10日
    浏览(38)
  • 数据结构学习系列之顺序表的两种删除方式

    方式1: 在顺序表的末端删除所存储的数据元素,代码如下: 示例代码: 注意事项: 1.形参传入到具有删除数据元素功能的函数后,需要做 入参合理性检查 ; 2.还需要判断此时 顺序表所存储的数据元素是否为空 ; 3. count是计数的变量 , 每次删除一个数据元素后,需要减

    2024年02月10日
    浏览(43)
  • 【数据结构】归并排序的两种实现方式与计数排序

    前言:在前面我们讲了各种常见的排序,今天我们就来对排序部分收个尾,再来对归并排序通过递归和非递归的方法进行实现,与对计数排序进行简单的学习。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:数据结构 👈 💯代码仓库:卫卫周大胖的学习日记💫 💪关注博

    2024年01月18日
    浏览(50)
  • Jmeter设置中文的两种方式,建议使用第二种

    进入jmeter图像化界面,选择 Options 下的 Choose Language ,再选择 Chinese(Simplified) 。这个就是选择语言为简体中文(缺陷: 这个只是在本次使用时为中文,下次打开默认还是英文的 ) 进入jmeter的安装目录下的bin目录中找到 jmeter.properties 使用记事本或其他编译工具打开 新增一行:

    2024年02月13日
    浏览(40)
  • 【linux 多线程并发】线程本地数据存储的两种方式,每个线程可以有同名全局私有数据,以及两种方式的性能分析

    ​ 专栏内容 : 参天引擎内核架构 本专栏一起来聊聊参天引擎内核架构,以及如何实现多机的数据库节点的多读多写,与传统主备,MPP的区别,技术难点的分析,数据元数据同步,多主节点的情况下对故障容灾的支持。 手写数据库toadb 本专栏主要介绍如何从零开发,开发的

    2024年02月03日
    浏览(49)
  • 【Py】Sqlalchemy2.0中映射元数据的两种方式

    第一种: 第二种: 其中第一种方式会映射所有表的元数据,耗时会比较长,而且数据库中表变化后,需要重新映射; 第二种方法是只映射某个表,所以效率更高一些。 两种方式各有优劣,比如如果数据库中表相对固定,更推荐第一种方式,否则推荐第二种

    2024年02月11日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包