maxwell同步mysql binlog至自建kafka集群
配置mysql
服务器配置:确保已配置server_id,并且已打开基于行的复制。
$ vi my.cnf
[mysqld]
server_id=1
log-bin=master
binlog_format=row
docker方式启动同步
docker run -it --rm -d harbor.soulapp-inc.cn/soul-ops/maxwell:1.26.3 \
/bin/maxwell --log_level debug \
--host xxxxx \
--user xxx --password xxx \
--producer xxx \
--schema_database xxx \
--replication_host xxx \
--replication_user xxx
--replication_password xxx \
--replication_port 3306 \
--output_ddl true \
--kafka.bootstrap.servers xxx:9092 \
--kafka_topic xxx \
--http_port 8111 \
--metrics_type http \
--metrics_jvm true
注意事项
- 保障程序稳定
端口监控、日志监控、metrics监控、kafka写入监控 - 程序异常后保障服务可以重启
supervisor、k8s部署、脚本拉起、docker拉起 - 异常情况:
mysql主从切换、binlog过期
配置参考
http://maxwells-daemon.io/config/