Maxwell 部署
一、环境准备
1、确保服务器上已经安装好了zookeeper、kafka、MySQL软件;
(1)启动zookeeper:
/usr/app/zookeeper3.4/bin/zkServer.sh start
(2)启动三台主题的kafka
启动:bin/kafka-server-start.sh -daemon config/server.properties
停止:/usr/app/kafka/bin/kafka-server-stop.sh
2、在如下地址下载Maxwell软件:
https://github.com/zendesk/maxwell/releases/tag/v1.29.1
3、解压文件并改名
解压文件:
tar -zxvf /opt/software/maxwell-1.29.1.tar.gz -C /usr/app/
修改目录:
mv maxwell-1.29.1/ maxwell-1.29
修改/et/profile环境变量,并source /etc/profile:
export MAXWELL_HOME=/usr/app/maxwell1.29.1
export PATH=$PATH:$MAXWELL_HOME/bin
二、MySQL准备
1、修改MySQL的配置文件/etc/my.cnf,开启MySQL的binlog设置
# Maxwell 日志采集的配置
server_id=1
# 设置生成的二进制文件的前缀
log-bin=mysql-bin
# 设置binlog的二进制文件的日志级别 行级模式
binlog_format=row
# binlog的执行的库 如果不加这个参数那么mysql会对所有的库都生成对应的binlog 即对所有的库进行binlog监控
#(这里我们使用test库测试)
# 设置只监控某个或某些数据库,多个数据就设置多行,test代表库名
binlog-do-db=test
2、重启MySQL服务
systemctl restart mysqld
3、登录MySQL并查看是否修改成功
mysql –uroot -p
show variables like '%binlog%'
4、进入 /var/lib/mysql 目录,查看MySQL生成的binlog文件
三、初始化Maxwell元数据库
1、在MySQL中建立一个 maxwell 库用于存储 maxwell 元数据。表会自动创建。
四、使用命令行参数启动Maxwell进程
bin/maxwell --user='root' --password='123456' --host='hp1' --producer=stdout
参数解读:
--user 连接 mysql 的用户
--password 连接 mysql 的用户的密码
--host mysql 安装的主机名
--producer 生产者模式(stdout:控制台 kafka:kafka 集群)
五、实操练习
5.1、监控MySQL数据并在控制台打印
1、运行maxwell监控MySQL数据增加、删除、更新
bin/maxwell --user='root' --password='123456' --host='hp1' --producer=stdout
2、向 mysql 的 test 库的 test_maxwell 表插入一条数据,查看 maxwell 的控制台输出
2.1 首先创建 表,可以看出,打印出了我们在test库下新建了一个表
2.2 插入一条数据,如图:
3、修改 test库的test_maxwell 表的一条数据,查看 maxwell 的控制台输出
3、删除test库的 test_maxwell 表的一条数据,查看 maxwell 的控制台输出
总结:
type 代表操作类型
利用CTL+C退出监控界面
5.2、监控 MySQL 数据输出到 kafka
在安装我们maxwell的主机上:
1、启动zookeeper集群和kafka集群
(已启动)
2、启动 Maxwell 监控 binlog
bin/maxwell --user='root' --password='123456' --host='hp1' \
--producer=kafka --kafka.bootstrap.servers=hp1:9092 --kafka_topic=hunter
3、打开 kafka 的控制台的消费者消费 hunter 主题
在kafka集群中另选一台:
bin/kafka-console-consumer.sh --bootstrap-server hp1:9092 --topic hunter
4.在test库的 test_maxwell 表中增加、修改、删除记录
增加:
修改:
删除:
test库的 test_maxwell 表中增加、修改、删除记录
增加:
修改:
删除: