Maxwell安装与入门

安装

官网 https://maxwells-daemon.io/

下载地址,此版本有67M,如果发现启动不了,重新下载
https://github.com/zendesk/maxwell/releases/tag/v1.29.2

上传后解压
tar -zxvf maxwell-1.29.2.tar.gz -C /opt/module/

安装MySQL
https://blog.csdn.net/weixin_44371237/article/details/119966466

修改MySQL配置文件 vim /etc/my.cnf,在[mysqld]模块下添加一下内容

server_id=1 
# 设置binlog 日志的前缀是 mysql-bin
log-bin=mysql-bin
# 行级, binlog 会记录每次操作后每行记录的变化。 
binlog_format=row
# 指定test_maxwell数据库
#binlog-do-db=test_maxwell

启动MySQL
service mysqld start

登录 mysql
mysql -uroot -proot123456

查看是否修改完成
mysql> show variables like ‘%binlog%’;
在这里插入图片描述
进入
cd /var/lib/mysql

可以看到binlog文件(MySQL 生成的 binlog 文件初始大小一定是 154 字节)
mysql-bin.000001

初始化 Maxwell 元数据库

在 MySQL 中建立一个 maxwell 库用于存储 Maxwell 的元数据

CREATE DATABASE maxwell;

分配一个账号可以操作该数据库

GRANT ALL  ON maxwell.* TO 'maxwell'@'%' IDENTIFIED BY '123456';

分配这个账号可以监控其他数据库的权限

GRANT  SELECT ,REPLICATION SLAVE , REPLICATION CLIENT  ON *.* TO maxwell@'%'; 

刷新 mysql 表权限

flush privileges; 

用客户端打开,在mysql库的user表可以看到如下用户
在这里插入图片描述

输出到控制台

第一种启动方式:

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

bin/maxwell --user='maxwell' --password='123456' --host='hadoop100' --producer=stdout
第二种启动方式:

复制config.properties

cp config.properties.example config.properties

修改/opt/module/maxwell-1.29.2/config.properties

producer=stdout
host=hadoop100
password=123456

启动
bin/maxwell --config ./config.properties

如下启动成功
在这里插入图片描述
建表后插入数据

insert into test values(1,'aaa'); 

Maxwell监控到

{"database":"test_maxwell","table":"test","type":"insert","ts":1668590382,"xid":3907,"commit":true,"data":{"id":2,"name":"aaa"}}

输出到kafka

kafka安装
https://blog.csdn.net/weixin_44371237/article/details/126956860

windows 客户端工具
https://www.kafkatool.com/download.html
在这里插入图片描述

第一种启动方式:

启动 Maxwell 监控 binlog

bin/maxwell --user='maxwell' --password='123456' --host='hadoop100' --producer=kafka --kafka.bootstrap.servers=hadoop100:9092 --kafka_topic=maxwell 

打开 kafka 的控制台的消费者消费 maxwell 主题

kafka-console-consumer.sh --bootstrap-server hadoop100:9092 --topic maxwell 
第二种启动方式:

修改/opt/module/maxwell-1.29.2/config.properties

producer=kafka
kafka.bootstrap.servers=hadoop100:9092
host=hadoop100

启动

bin/maxwell --config ./config.properties

在数据库客户端创建test_maxwell和test_maxwell2库,然后插入数据

insert into test_maxwell.test values(3,'aaa'); 
insert into test_maxwell2.test values(3,'aaa'); 

打开kafka tool可以看到如下
在这里插入图片描述
设置数据显示为string,默认二进制
在这里插入图片描述

kafka 主题数据分区

maxwell 监控多个 mysql 库的数据,这些数据发往 kafka 的一个主题 Topic,并且这个主题也肯定是多分区的,为了提高并发度。

手动创建一个 3 个分区的 topic,名字就叫做 maxwell3

bin/kafka-topics.sh --zookeeper hadoop100:2181,hadoop101:2181,hadoop102:2181/kafka  --create --replication-factor 2 --partitions 3 --topic maxwell3 
bin/kafka-topics.sh --bootstrap-server hadoop100:9092 --create --partitions 3 --replication-factor 2 -topic maxwell3

修改/opt/module/maxwell-1.29.2/config.properties

producer=kafka
kafka.bootstrap.servers=hadoop100:9092
host=hadoop100
#  *** kafka *** 
kafka_topic=maxwell3 
#  *** partitioning *** 
producer_partition_by=database

启动

bin/maxwell --config ./config.properties

数据初始化

在这里插入图片描述
先关闭maxwell,然后往元数据库添加数据
insert into maxwell.bootstrap(database_name,table_name) values(‘test_maxwell’,‘test’);

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值