1.下载并安装Maxwell
下载链接:Maxwell’s Daemon (maxwells-daemon.io)
下载好的压缩包放在/opt/software中
解压到/opt/module
cd /opt/software/
tar -zxvf maxwell-1.29.2.tar.gz -C /opt/module/
重命名方便使用
cd /opt/module
mv maxwell-1.29.2/ maxwell
2.配置MySQL
自行安装mysql
修改MySQL配置文件/etc/my.cnf
sudo vim /etc/my.cnf
在末尾增加如下配置==(注意,最后一行参数要根据你的实际情况调整)==
重启mysql
sudo systemctl restart mysqld
在mysql中创建Maxwell所需数据库和用户,因为Maxweill要将binlog同步的一些断点位置等数据存储在mysql中。
先进入到mysql当中,创建数据库,再创建maxwel用户并赋予其必要的权限
mysql> CREATE DATABASE maxwell;
mysql> CREATE USER 'maxwell'@'%' IDENTIFIED BY 'maxwell';
mysql> GRANT ALL ON maxwell.* TO 'maxwell'@'%';
mysql> GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'maxwell'@'%';
3.配置Maxwell
修改Maxwell配置文件名称并修改其内容
cd /opt/module/maxwell
cp config.properties.example config.properties
vim config.properties
修改配置文件,图中框选的内容按自己的实际情况调整
#Maxwell数据发送目的地,可选配置有stdout|file|kafka|kinesis|pubsub|sqs|rabbitmq|redis
producer=kafka
# 目标Kafka集群地址
kafka.bootstrap.servers=hadoop102:9092,hadoop103:9092,hadoop104:9092
#目标Kafka topic,可静态配置,例如:maxwell,也可动态配置,例如:%{database}_%{table}
kafka_topic=topic_db
# MySQL相关配置
host=hadoop102
user=maxwell
password=maxwell
jdbc_options=useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
# 过滤gmall中的z_log表数据,该表是日志数据的备份,无须采集
filter=exclude:gmall.z_log
# 指定数据按照主键分组进入Kafka不同分区,避免数据倾斜
producer_partition_by=primary_key
4.Maxwell的使用
首先要启动zookeeper和kafka,没安装的可以看下这两篇教程
Centos安装Zookeeper教程(一次就成功版!)-CSDN博客
确保zookeeper和kafka启动成功后,启动Maxwell
/opt/module/maxwell/bin/maxwell --config /opt/module/maxwell/config.properties --daemon
启动成功。