(三十二)大数据实战——Maxwell安装部署及其应用案例实战

前言

Maxwell是一个开源的MySQL数据库binlog解析工具,用于将MySQL数据库的binlog转换成易于消费的JSON格式,并通过Kafka、RabbitMQ、Kinesis 等消息队列或直接写入文件等方式将其输出。本节内容主要介绍如何安装部署Maxwell以及如何使用Maxwell完成数据的同步,这里主要以同步数据到kafka服务器为例。关于java、mysql和kafka的安装,这里不在介绍,请关注作者往期博客内容。

正文

①上传Maxwell安装包到hadoop101服务器的/opt/software目录

②解压Maxwell安装包到/opt/module目录

复制代码
tar -zxvf maxwell-1.29.2.tar.gz -C /opt/module

③配置Maxwell环境变量并使其生效

④ 在/etc/my.cnf中修改配置文件,开启mysql的binlog日志功能

复制代码
#开启mysql binlog日志
server_id=1
log-bin=mysql-bin
binlog_format=row
#具体到某一个数据库,不配置的话是所有的数据库
binlog-do-db=maxwell_test

⑤重启mysql,在/var/lib/mysql目录下查看是否会有binlog日志文件

⑥ 初始化Maxwell元数据库

  • 在MySQL中建立一个maxwell库用于存储Maxwell的元数据
  • 设置mysql用户密码安全级别
  • 分配一个账号可以操作该数据库
  • 授权
  • 刷新用户权限

⑦ Maxwell启动工作进程

  • 使用命令行启动

    maxwell --user='maxwell' --password='maxwell' --host='hadoop101' --producer=stdout

参数说明:

--user 连接mysql的用户

--password 连接mysql用户的密码

--host mysql 安装的主机名

--producer 生产者模式(stdout:控制台 kafka:kafka 集群)

  • 通过定制化配置文件启动

⑧ 启动maxwell监控同步,向测试数据库maxwell_test中的test表中写入数据,查看控制台输出

  • 启动maxwell监控
  • 创建maxwell_test数据库,在test表中添加数据
  • 查看控制台输出

⑨ 使用kafka接收maxwell的监控数据

  • 启动kafka集群
  • 启动Maxwell监控binlog

    maxwell --user='maxwell' --password='maxwell' --host='hadoop101' --producer=kafka --kafka.bootstrap.servers=hadoop101:9092 --kafka_topic=maxwell

  • 向test_maxwell 库的test 表中插入一条数据、
  • 开启一个kafka消费者者,查看控台台日志,成功在maxwell中消费到了消息

⑩ 使用kafka自定义多分区接收maxwell的监控数据

  • 定制化启动maxwell进程,修改config.properties配置文件
  • 手动创建3个分区的topic主题maxwell_kafka

    kafka-topics.sh --bootstrap-server hadoop101:9092 --create --topic maxwell_kafka --partitions 3 --replication-factor 3

  • 启动maxwell进程监控
  • 启动kafka消费者,消费到了数据

⑪ maxwell监控特定表的binlog日志

  • 启动进程命令

    maxwell --user='maxwell' --password='maxwell' --host='hadoop101' --filter 'exclude: .,include:maxwell_test.test' --producer=stdout

-- filter:可以设置过滤监控的数据库和表

⑫maxwell全量监控binlog日志

  • 在maxwell的元数据库maxwell中插入一条数据,代表执行一个maxwell_test数据库test表全量监控同步的任务

    insert into maxwell.bootstrap(database_name,table_name) values('maxwell_test','test');

  • 查看控制台,全量任务已同步

结语

至此,关于Maxwell安装部署及其应用案例实战到这里就结束了,我们下期见。。。。。。

相关推荐
椿融雪1 小时前
分布式搜索和分析引擎Elasticsearch实战指南
大数据·分布式·elasticsearch
拓端研究室2 小时前
专题:2025机器人产业技术图谱与商业化指南|附130+份报告PDF、数据汇总下载
大数据·人工智能
码界筑梦坊2 小时前
91-基于Spark的空气质量数据分析可视化系统
大数据·python·数据分析·spark·django·numpy·pandas
linweidong2 小时前
深入剖析 Spark Shuffle 机制:从原理到实战优化
大数据·分布式·spark·spark sql·数据开发·shuffle·数据倾斜
字节跳动数据平台3 小时前
企业落地 Data Agent,一共需要几步?
大数据·agent
涛思数据(TDengine)3 小时前
时序数据库厂商 TDengine 发布 AI 原生的工业数据管理平台 IDMP,“无问智推”改变数据消费范式
大数据·运维·数据库·人工智能·tdengine
想你依然心痛3 小时前
Spark大数据分与实践笔记(第五章 HBase分布式数据库-04)
大数据·数据库·分布式
智海观潮14 小时前
Unity Catalog与Apache Iceberg如何重塑Data+AI时代的企业数据架构
大数据·人工智能·ai·iceberg·catalog
柏峰电子15 小时前
市政道路积水监测系统:守护城市雨天出行安全的 “智慧防线”
大数据·人工智能·安全
威斯软科的老司机16 小时前
AR远程协作系统设计:虚实融合场景下的设备维护操作指引界面
大数据·ar·可视化