1.上传安装包到linux系统上面
2.解压安装包到安装目录下,并且重命名
[root@VM-4-10-centos package]# tar -zxvf maxwell-1.29.2.tar.gz -C /opt/software/
3.配置mysql
增加以下配置
#数据库id
server-id = 1
#启动binlog,该参数的值会作为binlog的文件名
log-bin=mysql-bin
#binlog类型,maxwell要求为row类型
binlog_format=row
#启用binlog的数据库,需根据实际情况作出修改
binlog-do-db= financial_lease
查看binlog是否开启:
show variables like 'log_%';
我们需要关注的是输出结果的第一行,可以看到log_bin对应的值是ON,所以binlog已经开启。
4. 创建Maxwell所需数据库和用户
Maxwell需要在MySQL中存储其运行过程中的所需的一些数据,包括binlog同步的断点位置(Maxwell支持断点续传)等等,故需要在MySQL为Maxwell创建数据库及用户。
注意创建的Maxwell数据库为maxwell元数据库,maxwell不会监测元数据库数据变化,所以业务数据不要创建在元数据库内,不然不会监测到数据变化,maxwell也不会报错
创建数据库
msyql> CREATE DATABASE maxwell;
创建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'@'%';
5.配置Maxwell
修改Maxwell配置文件名称
[root@VM-4-10-centos software]# cd maxwell/
[root@VM-4-10-centos maxwell]# cp config.properties.example config.properties
修改Maxwell配置文件
#Maxwell数据发送目的地,可选配置有stdout|file|kafka|kinesis|pubsub|sqs|rabbitmq|redis
producer=kafka
# 目标Kafka集群地址
kafka.bootstrap.servers=101.91.153.39:9092,61.171.111.6:9092,61.171.100.138:9092
#目标Kafka topic,可静态配置,例如:maxwell,也可动态配置,例如:%{database}_%{table}
kafka_topic=maxWellData
# MySQL相关配置
host=10.0.4.10
user=maxwell
password=maxwell
jdbc_options=useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
# 指定数据按照主键分组进入Kafka不同分区,避免数据倾斜
producer_partition_by=primary_key
6.启动Kafka集群
7.启动Maxwell
先把采集到的数据打印到控制台测试maxwell应用是否正常
[root@VM-4-10-centos maxwell]# bin/maxwell --user='maxwell' \
> --password='maxwell' \
> --host='10.0.4.10' \
> --producer=stdout
打印正常后重新启动打印到kafka
[root@VM-4-10-centos maxwell]# bin/maxwell --config config.properties --daemon
消费kafka对应topic发现正常
[zhangflink@9wmwtivvjuibcd2e kafka]$ bin/kafka-console-consumer.sh --bootstrap-server flinkv1:9092 --from-beginning --topic maxWellData