maxwell数据抓取工具

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: maxwell数据抓取工具

前言

maxwell是一款开源MySQL数据抓取工具,可以读取MySQL的binlog,然后转换成json并输出到kafka、redis等消息队列中。

  • bin/maxwell,用于增量抓取
  • bin/maxwell-boostrap,用于全量抓取

搭建环境

应用 版本 Addr
MySQL 8.0.33 192.168.3.23:3306
Kafka 2.13_3.4.0 192.168.3.23:9092
Maxwell 1.40.0

安装MySQL

MySQL版本:8.0.33

  1. 修改配置文件,启用binlog和gtid
log_bin           = mysql-bin
binlog_format     = row
binlog_cache_size = 2M
server_id = 1
gtid_mode = on
enforce_gtid_consistency = on
log-slave-updates = 1
binlog-ignore-db = mysql,information_schema,sys,performance_schema
sync_binlog = 1
auto_increment_offset = 1
auto_increment_increment = 2
  1. 开启binlog直接输出SQL语句
SET GLOBAL binlog_rows_query_log_events=ON;
  1. 配置同步用户
CREATE USER 'maxwell'@'%' IDENTIFIED BY '123456';
-- GRANT ALL ON maxwell.* TO 'maxwell'@'%';
GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'maxwell'@'%';

安装JDK

后面的kafka和maxwell都需要java运行环境,本文使用的jdk版本为 openjdk 17.0.2

安装kafka(单节点)

Kafka版本2.13-3.4.0,使用kraft。

  1. 生成uuid
KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
  1. 初始化log目录。可修改配置文件config/kraft/server.properties中日志目录路径。
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
  1. 启动。注意修改配置文件config/kraft/server.properties中的监听host地址
bin/kafka-server-start.sh -daemon config/kraft/server.properties
  1. 创建topic
bin/kafka-topics.sh --create --topic maxwell --bootstrap-server 127.0.0.1:9092

安装maxwell

  1. 从maxwell的github仓库 https://github.com/zendesk/maxwell 下载release压缩包并解压即可。

增量抓取

  1. 编辑配置文件
log_level=info
producer=kafka
kafka.bootstrap.servers=192.168.3.23:9092
# mysql连接信息
host=192.168.3.23
port=3306
user=maxwell
password=123456
# 过滤库表
# filter= include: test.*
gtid_mode=true
output_ddl=true
kafka_topic=maxwell
kafka.compression.type=snappy
kafka.retries=0
kafka.acks=1
# 全量抓取的时候会用到
client_id=2301
  1. 启动
nohup ./bin/maxwell --config ./config.properties > ./nohup.log 2>&1 &
  1. 测试。在数据库进行一些增删改操作,观测kafka的topic有没有数据,有数据则正常。

全量抓取

maxwell-bootstrap依赖maxwell实例,运行时需要指定maxwell的实例id。

./bin/maxwell-bootstrap --host='192.168.3.23' --port=3306 --user='root' --password='123456' --database="test" --table="tb1"

参考

相关文章
|
1月前
|
存储 数据可视化 项目管理
Arya - 功能强大的在线 Markdown 编辑器
Arya(二丫)是一款基于Vue2与Vditor的开源在线Markdown编辑器,集流程图、甘特图、Echarts、PPT预览、五线谱等丰富功能于一体,支持多种编辑模式与一键导出PDF/图片,完美适配公众号等内容平台,3.3k+ GitHub stars,部署简单,体验优雅。
417 13
Arya - 功能强大的在线 Markdown 编辑器
|
弹性计算 运维 Serverless
产品测评 | ECS的健康保障新助手——云服务诊断
本文评测了阿里云的云服务诊断工具,该工具旨在帮助运维工程师和开发者快速定位和解决云资源问题。工具提供了“健康状态”和“诊断”两大核心功能,能够实时监控云资源状态,排查如网站无法访问、ECS故障等多种问题,并给出修复建议。该工具显著提升了排障效率,但在文档清晰度、功能描述准确性及部分功能实现上仍有改进空间。总体而言,该工具值得推荐给其他用户或团队使用。
|
4月前
|
监控 Kubernetes Java
最新技术栈驱动的 Java 绿色计算与性能优化实操指南涵盖内存优化与能效提升实战技巧
本文介绍了基于Java 24+技术栈的绿色计算与性能优化实操指南。主要内容包括:1)JVM调优,如分代ZGC配置和结构化并发优化;2)代码级优化,包括向量API加速数据处理和零拷贝I/O;3)容器化环境优化,如K8s资源匹配和节能模式配置;4)监控分析工具使用。通过实践表明,这些优化能显著提升性能(响应时间降低40-60%)同时降低资源消耗(内存减少30-50%,CPU降低20-40%)和能耗(服务器功耗减少15-35%)。建议采用渐进式优化策略。
244 1
|
11月前
|
前端开发 JavaScript 开发者
前端 CSS 优化:提升页面美学与性能
前端CSS优化旨在提升页面美学与性能。通过简化选择器(如避免复杂后代选择器、减少通用选择器使用)、合并样式表、合理组织媒体查询,可减少浏览器计算成本和HTTP请求。利用硬件加速和优化动画帧率,确保动画流畅。定期清理冗余代码并使用缩写属性,进一步精简代码。这些策略不仅加快页面加载和渲染速度,还提升了视觉效果,为用户带来更优质的浏览体验。
|
7月前
|
消息中间件 数据可视化 Kafka
docker arm架构部署kafka要点
本内容介绍了基于 Docker 的容器化解决方案,包含以下部分: 1. **Docker 容器管理**:通过 Portainer 可视化管理工具实现对主节点和代理节点的统一管理。 2. **Kafka 可视化工具**:部署 Kafka-UI 以图形化方式监控和管理 Kafka 集群,支持动态配置功能, 3. **Kafka 安装与配置**:基于 Bitnami Kafka 镜像,提供完整的 Kafka 集群配置示例,涵盖 KRaft 模式、性能调优参数及数据持久化设置,适用于高可用生产环境。 以上方案适合 ARM64 架构,为用户提供了一站式的容器化管理和消息队列解决方案。
690 10
|
存储 关系型数据库 MySQL
智能调度、秒级弹性|一文带你探索Compaction Service的进化之路
ADB MySQL的Compaction Service功能通过将Compaction任务从存储节点解耦至独立的弹性资源池执行,解决了资源隔离性弱、并发度低等问题,实现了资源消耗降低50%,任务执行时间平均减少40%,并支持按量付费,提升了系统的稳定性和成本效益。
|
存储 缓存 NoSQL
【赵渝强老师】MongoDB的WiredTiger存储引擎
MongoDB WiredTiger存储引擎自3.2版本起成为默认选择,提供文档级别的并发控制、检查点、数据压缩和本地加密等功能。本文详细介绍了WiredTiger的并发控制机制、预写日志与检查点、内存使用、数据压缩及磁盘空间回收等特性。
556 0
|
SQL 监控 关系型数据库
多个表同时更新的SQL技巧与方法
在数据库管理中,有时需要同时对多个表进行更新操作,以满足复杂的业务需求或数据一致性要求
1500 0
默认移动构造、默认移动赋值自动生成的条件
默认移动构造、默认移动赋值自动生成的条件
377 0
|
安全 Shell 网络安全
渗透测试中常用术语
渗透测试中常用术语解释
497 1

热门文章

最新文章