Maxwell知识点总结
Maxwell简介
Maxwell 是由美国Zendesk公司开源,用Java编写的MySQL变更数据抓取软件。它会实时监控Mysql数据库的数据变更操作(包括insert、update、delete),并将变更数据以 JSON 格式发送给 Kafka、Kinesi等流数据处理平台。
Maxwell输出数据格式
Maxwell原理
Maxwell的工作原理是伪装成slave,并遵循MySQL主从复制的协议,从master读取MySQL数据库的二进制日志(Binlog),从中获取变更数据,再将变更数据以JSON格式发送至Kafka等流处理平台。
Maxwell-bootstrap
Maxwell 提供了 bootstrap 功能来进行历史数据的全量同步,命令如下:
bin/maxwell-bootstrap --config config.properties --database gmall --table user_info
Bootstrap 数据格式:
注意事项:
第一条 type 为 bootstrap-start 和最后一条 type 为 bootstrap-complete 的数据,是 bootstrap 开始和结束的标志,不包含数据,中间的 type 为 bootstrap-insert 的数据才包含数据。
一次 bootstrap 输出的所有记录的 ts 都相同,为 bootstrap 开始的时间。