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