canal+kafaka实现mysql与redis数据同步(centos7)

news/2025/2/11 13:37:59/

为什么不直接使用 canal 同步数据到redis中?

回答:  数据同步的代码和业务逻辑代码搅合在一起不方便维护。

目前cannal的最新版支持三种消息队列,kafka , rocketmq(有bug) rabbitMq   因此本文使用kafka作为mysql同步数据到redis的消息队列

kafka2.8以后的版本不在依赖zookeeper   本文采用kafka2.12的版本

配置mysql数据库 vim /etc/my.cnf

[mysqld]
log-bin = mysql-bin
binlog-format = ROW

搭建kafka  使用自带的kraft代替zookeeper

$ tar -xzf kafka_2.13-3.3.1.tgz
$ cd kafka_2.13-3.3.1/congfig/kraft/

修改配置 vim kraft/server.properties

node.id=1
controller.quorum.voters=1@localhost:9093
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://localhost:9092
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAI
log.dirs=/usr/local/script/kafka/logs/kraft_log/    #单机主要该这里 meta数据的存储位置

生成一个唯一集群id kafka3.x专有的   会生成uuid字符串

../../bin/kafka-storage.sh random-uuid

格式化操作,会在配置的kraft_log中出现一个meta表

../../bin/kafka-storage.sh format -t ODmFtRXAQl6zWiZfzSHkxw -c /usr/local/script/kafka/config/kraft/server.properties

启动kafka

./bin/kafka-server-start.sh -daemon config/kraft/server.properties   后台启动

./bin/kafka-server-start.sh config/kraft/server.properties     前端启动

创建一个topic   topic名称为devops

./kafka-topics.sh --create  --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic devops

查看kafka topic列表

./bin/kafka-topics.sh --list --bootstrap-server localhost:9092

查看topic名称为devops的消息内容

./kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic devops

验证是否消息可以正常生产与消费

创建生产者     输入hello

./kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic devops

重新开一个中端,创建消费者   并在消费端查看

./kafka-console-consumer.sh --bootstrap-server  localhost:9092 -topic devops --from-beginning

至此kafka3.x搭建完毕


http://www.ppmy.cn/news/2739.html

相关文章

Python爬虫实战,Request+urllib模块,批量下载爬取飙歌榜所有音乐文件

前言 今天给大家介绍的是Python爬取飙歌榜所有音频数据并保存本地,在这里给需要的小伙伴们代码,并且给出一点小心得。 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文 本数据爬取…

外汇天眼:什么是外汇动量交易?新手指南

1. 什么是动量交易? 我们需要了解的第一件事是动量到底是什么。势头是字面意义上的趋势强度。动量交易策略涉及仅在强劲的价格趋势方向开仓,利用持续的价格变动,并在趋势逆转之前退出。 动量交易者通常不会担心趋势在哪里结束和开始&#x…

【软件测试】资深测试告诉你做好测试需求分析是有多么重要......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 测试需求到底是什么…

【能效分析】安科瑞变电所运维云平台解决方案应用分析

概述 安科瑞 李亚俊 壹捌柒贰壹零玖捌柒伍柒 AcrelCloud-1000变电所运维云平台基于互联网+大数据、移动通讯等技术开发的云端管理平台,满足用户或运维公司监测众多变电所回路运行状态和参数、室内环境温湿度、电缆及母线运行温度、现场设备或环境视频场…

华为机试真题 Java 实现【最长的密码】【2022.11 Q4 新题】

目录 题目 思路 考点 Code 题目 小王在进行游戏大闯关,有一个关卡需要输入一个密码才能通过,密码获得的条件如下: 在一个密码本中,每一页都有一个由26个小写字母组成的若干位密码,每一页的密码不同,需要从这个密码本中寻找这样一个最长的密码, 从它的末尾开始依次去…

一文4000字教你如何使用可视化的Docker进行UI自动化测试

随着 docker 的发展,很多测试的同学也已经在测试工作上使用 dockr 作为环境基础去进行一些自动化测试,这篇文章主要讲述我们在 docker 中使用浏览器进行自动化测试如果可以实现可视化,同时可以对浏览器进行相关的操作。 开篇 首先我们先了解…

【代码随想录】二刷-回溯算法

回溯算法 《代码随想录》 什么是回溯算法? 回溯算法也可以叫做回溯搜索法,它是一种搜索方式。回溯是递归的副产品,只要有递归就会有回溯。 回溯法的效率: 回溯法的本质是穷举,穷举所有可能,然后选出我们想要的答案。(n…

[附源码]计算机毕业设计JAVA中青年健康管理监测系统

[附源码]计算机毕业设计JAVA中青年健康管理监测系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM …