一、配置Mysql
1.1、初始化 Maxwell 元数据库
➢ 在 MySQL 中建立一个 maxwell 库用于存储 Maxwell 的元数据
[root@chb1 html]# mysql -uroot -p123456
mysql> CREATE DATABASE maxwell ;
➢ 设置安全级别
mysql> set global validate_password_length=4;
mysql> set global validate_password_policy=0;
➢ 分配一个账号可以操作该数据库
mysql> GRANT ALL ON maxwell.* TO 'maxwell'@'%' IDENTIFIED BY '123456';
➢ 分配这个账号可以监控其他数据库的权限
mysql> GRANT SELECT ,REPLICATION SLAVE , REPLICATION CLIENT ON *.* TO
maxwell@'%';
1.2、修改/etc/my.cnf 文件
server-id= 1
log-bin=mysql-bin
binlog_format=row
binlog-do-db=chb_realtime
注意:binlog-do-db 根据自己的情况进行修改,指定具体要同步的数据库
二、配置Maxwell
2.1、修改配置
[root@chb2 maxwell-1.25.0]# pwd
/opt/maxwell-1.25.0
[root@chb2 maxwell-1.25.0]# cp config.properties.example config.properties
producer=kafka
kafka.bootstrap.servers=chb1:9092,chb2:9092,chb3:9092
# mysql login info
host=chb
user=root
password=123456
#需要添加 后续初始化会用
client_id=maxwell_1
注意:默认还是输出到指定 Kafka 主题的一个 kafka 分区,因为多个分区并行可能会打乱binlog 的顺序 如果要提高并行度,首先设置 kafka 的分区数>1
,然后设置 producer_partition_by
属性 可选值 producer_partition_by=database|table|primary_key|random| column
[root@chb2 maxwell-1.25.0]# bin/maxwell --user='maxwell' --password='123456' --host='chb1' --producer=kafka --kafka.bootstrap.servers=chb1:9092,chb2:9092,chb3:9092 --kafka_topic=ods_base_db_m