(三十二)大数据实战——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安装部署及其应用案例实战到这里就结束了,我们下期见。。。。。。

相关推荐
Hello.Reader1 分钟前
Flink 内置 Watermark 生成器单调递增与有界乱序怎么选?
大数据·flink
工作中的程序员2 分钟前
flink UTDF函数
大数据·flink
工作中的程序员8 分钟前
flink keyby使用与总结 基础片段梳理
大数据·flink
Hy行者勇哥34 分钟前
数据中台的数据源与数据处理流程
大数据·前端·人工智能·学习·个人开发
00后程序员张1 小时前
RabbitMQ核心机制
java·大数据·分布式
AutoMQ1 小时前
10.17 上海 Google Meetup:从数据出发,解锁 AI 助力增长的新边界
大数据·人工智能
武子康1 小时前
大数据-119 - Flink Flink 窗口(Window)全解析:Tumbling、Sliding、Session 应用场景 使用详解 最佳实践
大数据·后端·flink
阿水实证通2 小时前
能源经济大赛选题推荐:新能源汽车试点城市政策对能源消耗的负面影响——基于技术替代效应的视角
大数据·人工智能·汽车
TomCode先生3 小时前
SaaS版MES系统PC端后台功能清单与设计说明
大数据