maxwell 输出消息到 kafka
文章目录
- 1、kafka-producer
- 2、运行一个Docker容器,该容器内运行的是Zendesk的Maxwell工具,一个用于实时捕获MySQL数据库变更并将其发布到Kafka或其他消息系统的应用
- 3、进入kafka容器内部
- 4、tingshu_album 数据库中 新增数据
- 5、tingshu_album 数据库中 更新数据
- 6、tingshu_album 数据库中 删除数据
- 7、总结
1、kafka-producer
kafka-producer:https://maxwells-daemon.io/config/#kafka-producer

2、运行一个Docker容器,该容器内运行的是Zendesk的Maxwell工具,一个用于实时捕获MySQL数据库变更并将其发布到Kafka或其他消息系统的应用

docker run -it --rm zendesk/maxwell bin/maxwell \--user=maxwell \--password=maxwell \--host=192.168.74.148 \--port=3306 \--producer=kafka \--kafka.bootstrap.servers=192.168.74.148:9092 \--kafka_topic=maxwell
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89bb2276fc3d elasticsearch:8.8.2 "/bin/tini -- /usr/l…" 3 weeks ago Up 5 days 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp elasticsearch
34891ac3e05a wurstmeister/kafka "start-kafka.sh" 4 weeks ago Up 3 minutes 0.0.0.0:9092->9092/tcp, :::9092->9092/tcp kafka
8c71efe9dca7 wurstmeister/zookeeper "/bin/sh -c '/usr/sb…" 4 weeks ago Up 5 days 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp zookeeper
c14772057ab8 redis "docker-entrypoint.s…" 8 months ago Up 5 days 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp spzx-redis
ab66508d9441 mysql:8 "docker-entrypoint.s…" 8 months ago Up 2 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp spzx-mysql
[root@localhost ~]# docker run -it --rm zendesk/maxwell bin/maxwell \
> --user=maxwell \
> --password=maxwell \
> --host=192.168.74.148 \
> --port=3306 \
> --producer=kafka \
> --kafka.bootstrap.servers=192.168.74.148:9092 \
> --kafka_topic=maxwell
2024-09-19 11:00:53 INFO Maxwell - Starting Maxwell. maxMemory: 1031798784 bufferMemoryUsage: 0.25
2024-09-19 11:00:54 INFO ProducerConfig - ProducerConfig values: acks = 1batch.size = 16384bootstrap.servers = [192.168.74.148:9092]buffer.memory = 33554432client.dns.lookup = use_all_dns_ipsclient.id = producer-1compression.type = noneconnections.max.idle.ms = 540000delivery.timeout.ms = 120000enable.idempotence = falseinterceptor.classes = []internal.auto.downgrade.txn.commit = falsekey.serializer = class org.apache.kafka.common.serialization.StringSerializerlinger.ms = 0max.block.ms = 60000max.in.flight.requests.per.connection = 5max.request.size = 1048576metadata.max.age.ms = 300000metadata.max.idle.ms = 300000metric.reporters = []metrics.num.samples = 2metrics.recording.level = INFOmetrics.sample.window.ms = 30000partitioner.class = class org.apache.kafka.clients.producer.internals.DefaultPartitionerreceive.buffer.bytes = 32768reconnect.backoff.max.ms = 1000reconnect.backoff.ms = 50request.timeout.ms = 30000retries = 2147483647retry.backoff.ms = 100sasl.client.callback.handler.class = nullsasl.jaas.config = nullsasl.kerberos.kinit.cmd = /usr/bin/kinitsasl.kerberos.min.time.before.relogin = 60000sasl.kerberos.service.name = nullsasl.kerberos.ticket.renew.jitter = 0.05sasl.kerberos.ticket.renew.window.factor = 0.8sasl.login.callback.handler.class = nullsasl.login.class = nullsasl.login.refresh.buffer.seconds = 300sasl.login.refresh.min.period.seconds = 60sasl.login.refresh.window.factor = 0.8sasl.login.refresh.window.jitter = 0.05sasl.mechanism = GSSAPIsecurity.protocol = PLAINTEXTsecurity.providers = nullsend.buffer.bytes = 131072socket.connection.setup.timeout.max.ms = 127000socket.connection.setup.timeout.ms = 10000ssl.cipher.suites = nullssl.enabled.protocols = [TLSv1.2, TLSv1.3]ssl.endpoint.identification.algorithm = httpsssl.engine.factory.class = nullssl.key.password = nullssl.keymanager.algorithm = SunX509ssl.keystore.certificate.chain = nullssl.keystore.key = nullssl.keystore.location = nullssl.keystore.password = nullssl.keystore.type = JKSssl.protocol = TLSv1.3ssl.provider = nullssl.secure.random.implementation = nullssl.trustmanager.algorithm = PKIXssl.truststore.certificates = nullssl.truststore.location = nullssl.truststore.password = nullssl.truststore.type = JKStransaction.timeout.ms = 60000transactional.id = nullvalue.serializer = class org.apache.kafka.common.serialization.StringSerializer2024-09-19 11:00:54 INFO AppInfoParser - Kafka version: 2.7.0
2024-09-19 11:00:54 INFO AppInfoParser - Kafka commitId: 448719dc99a19793
2024-09-19 11:00:54 INFO AppInfoParser - Kafka startTimeMs: 1726743654433
2024-09-19 11:00:54 INFO Maxwell - Maxwell v1.41.2 is booting (MaxwellKafkaProducer), starting at Position[BinlogPosition[spzxbinlog.000003:7129], lastHeartbeat=0]
2024-09-19 11:00:54 INFO MysqlSavedSchema - Restoring schema id 1 (last modified at Position[BinlogPosition[spzxbinlog.000003:156], lastHeartbeat=0])
2024-09-19 11:00:55 INFO BinlogConnectorReplicator - Setting initial binlog pos to: spzxbinlog.000003:7129
2024-09-19 11:00:55 INFO BinaryLogClient - Connected to 192.168.74.148:3306 at spzxbinlog.000003/7129 (sid:6379, cid:60)
2024-09-19 11:00:55 INFO BinlogConnectorReplicator - Binlog connected.
2024-09-19 11:00:55 INFO Metadata - [Producer clientId=producer-1] Cluster ID: 9o7eoaK4T1KnGZkMvElpkg
3、进入kafka容器内部
[root@localhost ~]# docker exec -it kafka /bin/bash
bash-5.1# kafka-console-consumer.sh --bootstrap-server 192.168.74.148:9092 --topic maxwell
4、tingshu_album 数据库中 新增数据

[root@localhost ~]# docker exec -it kafka /bin/bash
bash-5.1# kafka-console-consumer.sh --bootstrap-server 192.168.74.148:9092 --topic maxwell
{"database":"tingshu_album","table":"base_category1","type":"insert","ts":1726743970,"xid":10619,"commit":true,"data":{"id":17,"name":"kafka","order_num":0,"create_time":"2024-09-19 11:06:10","update_time":"2024-09-19 11:06:10","is_deleted":0}}
{"database": "tingshu_album","table": "base_category1","type": "insert","ts": 1726743970,"xid": 10619,"commit": true,"data": {"id": 17,"name": "kafka","order_num": 0,"create_time": "2024-09-19 11:06:10","update_time": "2024-09-19 11:06:10","is_deleted": 0}
}
5、tingshu_album 数据库中 更新数据

[root@localhost ~]# docker exec -it kafka /bin/bash
bash-5.1# kafka-console-consumer.sh --bootstrap-server 192.168.74.148:9092 --topic maxwell
{"database":"tingshu_album","table":"base_category1","type":"insert","ts":1726743970,"xid":10619,"commit":true,"data":{"id":17,"name":"kafka","order_num":0,"create_time":"2024-09-19 11:06:10","update_time":"2024-09-19 11:06:10","is_deleted":0}}
{"database":"tingshu_album","table":"base_category1","type":"update","ts":1726744191,"xid":11128,"commit":true,"data":{"id":17,"name":"xxx","order_num":0,"create_time":"2024-09-19 11:06:10","update_time":"2024-09-19 11:09:51","is_deleted":0},"old":{"name":"kafka","update_time":"2024-09-19 11:06:10"}}
{"database": "tingshu_album","table": "base_category1","type": "update","ts": 1726744191,"xid": 11128,"commit": true,"data": {"id": 17,"name": "xxx","order_num": 0,"create_time": "2024-09-19 11:06:10","update_time": "2024-09-19 11:09:51","is_deleted": 0},"old": {"name": "kafka","update_time": "2024-09-19 11:06:10"}
}
6、tingshu_album 数据库中 删除数据

[root@localhost ~]# docker exec -it kafka /bin/bash
bash-5.1# kafka-console-consumer.sh --bootstrap-server 192.168.74.148:9092 --topic maxwell
{"database":"tingshu_album","table":"base_category1","type":"insert","ts":1726743970,"xid":10619,"commit":true,"data":{"id":17,"name":"kafka","order_num":0,"create_time":"2024-09-19 11:06:10","update_time":"2024-09-19 11:06:10","is_deleted":0}}
{"database":"tingshu_album","table":"base_category1","type":"update","ts":1726744191,"xid":11128,"commit":true,"data":{"id":17,"name":"xxx","order_num":0,"create_time":"2024-09-19 11:06:10","update_time":"2024-09-19 11:09:51","is_deleted":0},"old":{"name":"kafka","update_time":"2024-09-19 11:06:10"}}
{"database":"tingshu_album","table":"base_category1","type":"delete","ts":1726744396,"xid":11623,"commit":true,"data":{"id":17,"name":"xxx","order_num":0,"create_time":"2024-09-19 11:06:10","update_time":"2024-09-19 11:09:51","is_deleted":0}}
{"database": "tingshu_album","table": "base_category1","type": "delete","ts": 1726744396,"xid": 11623,"commit": true,"data": {"id": 17,"name": "xxx","order_num": 0,"create_time": "2024-09-19 11:06:10","update_time": "2024-09-19 11:09:51","is_deleted": 0}
}
7、总结

相关文章:
maxwell 输出消息到 kafka
文章目录 1、kafka-producer2、运行一个Docker容器,该容器内运行的是Zendesk的Maxwell工具,一个用于实时捕获MySQL数据库变更并将其发布到Kafka或其他消息系统的应用3、进入kafka容器内部4、tingshu_album 数据库中 新增数据5、tingshu_album 数据库中 更…...
青柠视频云——视频丢包(卡顿、花屏、绿屏)排查
一、问题说明 近期有客户反馈,接入平台的设备经常出来卡顿、花屏、录屏的情况,出现这样的场景很是尴尬。 客户是私有化部署在公网环境,于是我们联系客户,对问题进行追踪排查。 二、场景复现 我们现场情况确认的过程中,…...
单片机原理及应用
引言 单片机(Microcontroller Unit, MCU)作为现代电子技术的核心之一,广泛应用于工业自动化、消费电子、医疗设备、汽车电子、航空航天等多个领域。它集成了CPU(中央处理器)、存储器、输入输出接口及定时/计数器等功能…...
sql中拼接操作
SQL中的拼接操作 常用listagg聚合函数用法 也可用 XMLAGG代替上述操作 常用listagg聚合函数 LISTAGG(column, [separator]) WITHIN GROUP (ORDER BY order_by_clause)column:你想要连接起来的列。 [separator]:可选参数,用于指定列值之间的分…...
基于C语言+SQL Server2008实现(控制台)图书管理系统
第1章 概述 1.1项目背景 随着科技的发展,尤其是计算机技术的迅猛发展,图书馆管理的问题从以往的人工管理,到现在的电脑化,系统化,是对图书馆管理方法的质的飞跃,这些技术不仅让图书馆管理变得更加方便、快…...
Msf之Python分离免杀
Msf之Python分离免杀 ——XyLin. 成果展示: VT查杀率:8/73 (virustotal.com) 火绒和360可以过掉,但Windows Defender点开就寄掉了 提示:我用360测的时候,免杀过了,但360同时也申报了,估计要不了多久就寄…...
electron-updater实现electron全量版本更新
在 Electron 应用中使用 electron-updater 来实现自动更新功能时,通常你会在一个专门的模块或文件中管理更新逻辑。如果你想要使用 ES6 的 import 语法来引入 electron-updater,你需要确保你的项目已经配置好了支持 ES6 模块的构建工具(如 We…...
Mysql梳理6——order by排序
目录 6 order by排序 6.1 排序数据 6.2 单列排序 6.3 多行排列 6 order by排序 6.1 排序数据 使用ORDER BY字句排序 ASC(ascend):升序DESC(descend):降序 ORDER BY子句在SELECT语句的结尾 6.2 单列排序 如果没有使用排序操作,默认…...
Java设计模式—面向对象设计原则(三) -----> 依赖倒转原则DIP(完整详解,附有代码+案例)
文章目录 3.3 依赖倒转原则(DIP)3.3.1概述3.3.2 案例 3.3 依赖倒转原则(DIP) 依赖倒转原则:Dependency Inversion Principle,DIP 3.3.1概述 高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细…...
Linux操作系统 进程(3)
接上文 Linux进程优先级之后,我们了解到僵尸进程与孤儿进程的形成原因,既然是因为父进程没有接收子进程的退出状态导致的,那么我们该如何去获取子进程的退出状态呢?那本篇文章将围绕这个问题来解释进程。 环境 : vsco…...
QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第五期]
QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第五期] 第五期介绍:频道模块之接口授权管理和发言管理 目录 QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第五期]第五期介绍:频道模块之接口授权管理和发言管理获取机器人在频道可用权限列表…...
代码签名证书快速申请指南
申请代码签名证书是确保软件或应用程序在分发和安装过程中不被篡改的重要步骤。以下是详细的快速申请指南: 一、选择证书品牌和服务商 选择知名证书品牌:首先,选择一个国际知名的代码签名证书品牌,如GlobalSign、Digicert、Comod…...
安卓 uniapp跨端开发
HBuilder X 4.24 本地插件方式使用原生插件 例如 MT-TTS 地址PS: 播放 speek({text: ‘test’}) 应为 播放 speak({text: ‘test’})MT-TTS下载下来之后,将 nativeplugins 文件夹拷贝到 uniapp 项目根目录中manifest.json ---- App原生插件配置 运行 语音引擎测试文字转语音播…...
【高阶用法】uniapp的i18n多语言模块修复与增强(Typescript)
痛点 在i18n多语言模块使用过程中,发现下面几个问题,需要解决 1)uni-best框架下,$t功能函数无法实时的切换语言,可能跟使用有关 2)uni-best建议的translate方式在vue块外使用太繁琐,希望不用…...
SQL Server Data Tools (SSDT)入门教程
SSDT (SQL Server Data Tools) 是微软提供的一款用于开发、设计和管理SQL Server数据库的工具。它集成在Visual Studio中,允许开发人员和数据库管理员在统一的环境中进行数据库开发与管理。以下是关于SSDT的详细介绍: 1. 什么是SSDT? SQL S…...
窗户检测系统源码分享
窗户检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …...
2.计算机网络基础
2. 计算机网络基础 (1) 计算机网络的定义 计算机网络是指将地理位置不同、具有独立功能的多个计算机系统通过通信线路和设备连接起来,以功能完善的网络软件实现网络中资源共享的系统。最简单的定义是:计算机网络是一些互相连接的、自治的计算机系统的集合。最庞大的计算机网…...
硬中断,软中断恢复位置
汇编初始化栈指针,interrupt,svc preserve8 ;preserve8 和 restore8 通常用于保护寄存器的状态;以确保在函数调用前后某些寄存器的值保持不变area reset,code,readonlycode32entryb startldr pc,do_undefined;这些地址不能随便写,0x0,0x4,0x8....这些…...
MySQL基础(13)- MySQL数据类型
目录 一、数据类型概述 1.MySQL中的数据类型 二、整型 1.数据类型可选属性 2.使用建议 三、浮点数、定点数、位类型 1.类型介绍 2.浮点类型 3.定点数类型 4.位类型 四、日期时间类型 1.YEAR 2.DATE 3.TIME 4.DATETIME 5.TIMESTAMP 6.TIMESTAMP和DATETIME的区别…...
数据结构------二叉树简单介绍及实现
如果不是满二叉树或者完全二叉树,就要用链式存储 //搜索二叉树:左子树的所有值比根小,右子树的所有值比根大 // 实现查找,最多找高度次(类似二分法) //二分查找存在的问题:…...
OpenClaw 报错大全:2026 年我踩过的 12 个坑 + 完整解决方案
上周 Agent Skills 生态突然爆了,OpenClaw 一夜之间成了标配工具。我也跟风装了一个,结果第一天就报了 5 个错,折腾到凌晨两点。后来几天陆续又踩了一堆坑,索性把所有报错都记下来,整理成这篇文章。如果你正在用 OpenC…...
AI Agent架构入门到精通:LangChain重磅DeepAgents深度拆解,看这一篇就够了!
引言:为什么传统Agent总是"浅尝辄止"? 你有没有遇到过这样的尴尬场景: 让AI助手帮你完成一个复杂任务,比如"调研一下LangGraph技术,写一份技术报告,并创建相应的代码示例"。刚开始&a…...
claw-code 源码分析:从「清单」到「运行时」——Harness 为什么必须先做 inventory 再做 I/O?
说明:本文分析对象为开源仓库 claw-code(README 中 Rewriting Project Claw Code 的 Python/Rust 移植工作区)。1. 问题在问什么 Inventory(清单):在 Harness 里,指「系统承认存在的命令名、工具…...
Qwen2.5-VL-7B-Instruct快速部署:纯本地无网络依赖,一键启动视觉助手
Qwen2.5-VL-7B-Instruct快速部署:纯本地无网络依赖,一键启动视觉助手 1. 工具概览与核心优势 1.1 什么是Qwen2.5-VL-7B-Instruct Qwen2.5-VL-7B-Instruct是阿里通义千问团队推出的多模态大模型,专为视觉-语言交互任务设计。这个70亿参数的…...
爱邦保险:全国全牌照保险经纪领航者
爱邦保险经纪有限公司(以下简称“爱邦保险”)作为一家全国性保险经纪公司,据公开的工商信息及金融监管备案显示,爱邦保险是是经江苏省人民政府同意、中国保险监督管理委员会批准设立的一家全国性全牌照保险经纪公司,具…...
LLM - 2026 AI 文本转可视化工具终极指南:PicDoc.ai vs Napkin.ai 及 EdrawMax、Whimsical 等 8 大神器深度对比
文章目录概述一、PicDoc.ai vs Napkin.ai:专业全能 vs 轻快协作二、其他 6 大同类工具推荐三、8 大工具终极对比一览表(关键指标)四、 建议概述 在 2026 年的 AI 生产力浪潮中,把枯燥文字一键变成专业流程图、思维导图、信息图、…...
CUDA实战:如何用Swizzle技巧彻底解决MMA指令中的Bank Conflict问题
CUDA实战:如何用Swizzle技巧彻底解决MMA指令中的Bank Conflict问题 在Tensor Core编程中,共享内存的Bank Conflict问题一直是影响性能的关键瓶颈。本文将深入剖析ldmatrix指令与共享内存的交互机制,通过位运算级别的Swizzle技巧,在…...
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
升级方式通过 PECL 安装:pecl install openswoole-26.2.0或使用 Docker 镜像:docker pull openswoole/openswoole:26.2-php8.5-alpine新特性PHP 8.5 支持OpenSwoole 26.2.0 完全兼容 PHP 8.5,支持管道操作符、URI 扩展、Clone With 等新特性。…...
如何基于SecGPT构建企业级安全智能助手:完整实践指南
如何基于SecGPT构建企业级安全智能助手:完整实践指南 【免费下载链接】SecGPT SecGPT网络安全大模型 项目地址: https://gitcode.com/gh_mirrors/se/SecGPT SecGPT作为一款专业的网络安全大模型,为企业构建智能化安全防护体系提供了强大支持。本文…...
Illustrator脚本自动化深度解析:高级设计工作流的技术实现与性能优化
Illustrator脚本自动化深度解析:高级设计工作流的技术实现与性能优化 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 在当今设计行业,Adobe Illustrator作为…...
