边城

软件就是驱动世界,改造世界

欢迎来到边城客栈


Maxwell实时采集MySQL-binlog

前言

笔者所在的部门最近有需求要求把MySQL部分数据实时同步到Kafka中,结果调研采用了MaxWell,MaxWell性能比较高,但是唯一缺点为单点.

下载&解压

  • 下载
  1. wget https://github.com/zendesk/maxwell/releases/download/v1.25.0/maxwell-1.25.0.tar.gz
  2. tar -zxvf maxwell-1.25.0.tar.gz
  3. mv maxwell-1.25.0.tar.gz /opt/maxwell

配置

  • 修改MySQL配置,开启binlog,重启MySQL
server-id               = 1
log_bin                 = /var/log/mysql/mysql-bin.log
binlog_format           = ROW
expire_logs_days        = 10
max_binlog_size         = 100M
relay-log               = relay-bin
relay-log-index         = slave-relay-bin.index
auto-increment-offset   = 2
auto-increment-increment = 1
#skip-grant-tables
innodb_flush_log_at_trx_commit=2
sync_binlog=1000

启动

  • 命令行启动maxwell
  1. bin/maxwell --user='maxwell' --password='123456789' --port=3306 --host='xxxx' --filter='exclude:*.*,include:information_schema.*' --producer=kafka --kafka.bootstrap.servers=10.10.21.10:9092 --kafka_topic=saas_mysql_binlog &
  • 配置说明
    • –user MySQL 用户名
    • –password MySQL 密码
    • –port MySQL 端口
    • –host MySQL IP地址
    • –filter MySQL排除的表,包含的表
    • –producer 写入哪些中间件 kafka/redis/rabbitmq等
    • –kafka.bootstrap.servers Kafka bootstrap地址
    • –kafka_topic Kafka 写入的topic

验证

  • 命令行消费kafka
  1. kafka-console-consumer --bootstrap-server xxxxx:9092 --zookeeper xxxx:2181 --topic saas_mysql_binlog

总结

以上记录了maxwell基本使用.其中maxwell还包含实时写入其他中间件功能,读者可以触类旁通,希望本文对读者起到帮助作用.

参考

  • http://maxwells-daemon.io/quickstart/
  • https://www.cnblogs.com/whirly/p/10513868.html

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦