maxwell下载地址:https://github.com/zendesk/maxwell
maxwell主要为zip和tar.gz
下载maxwell 注意版本
maxwell-1.29.2.tar.gz以上是JDK11版本, maxwell-1.29.2.tar.gz是JDK1.8版本
安装时将tar.gz 解压,重命名
cd /opt
tar -zxvf maxwell-1.29.2.tar.gz
mv
配置maxwell只需一个配置文件
/opt/maxwell/config.properties
具体配置内容
producer=kafka
kafka.bootstrap.servers=master:9092,slave01:9092,slave02:9092
kafka_topic=%{database}_%{table}
#一般自定义一个和业务相关的静态的topic例如:topic_db
#也可定义动态topic 例如:%{database}_%{table}
# mysql login info
host=slave03
user=maxwell
password=maxwell #默认密码
jdbc_options=useSSL=false&serverTimezone=Asia/Shanghai
maxwell启动报错unhandled character set ‘utf8mb3’
由于MySQL从 5.5.3 开始,用 utf8mb4 编码来实现完整的 UTF-8,其中 mb4 表示 most bytes 4,最多占用4个字节。而原来的utf8则被utf8mb3则代替。
一种解决方案是,将MySQL降级,重新安装5.5.3以下的版本。(代价太大一般不推荐)
另一种方法则是修改maxwell源码。
首先在github上下载maxwell对应版本的源码。链接:https://github.com/zendesk/maxwell
解压打开,找到有问题的类:com.zendesk.maxwell.schema.columndef.StringColumnDef,加上能识别utf8mb3的语句
(打开时要加载许多依赖所需时间久)
注意要配置使用jdk11,因为许多类在后续版本中已被抛弃
将utf8mb3加入识别
用打包好的maxwell-1.29.2.jar 替换/opt/maxwell/lib/maxwell-1.29.2.jar
重新启动maxwell即可
/opt/maxwell/bin/maxwell --config /opt/maxwell/config.properties --daemon
问题场景:
项目maven打包的时候报错There are test failures.,导致打包失败。
注意使用跳过测试模式
启动/opt/maxwell/bin/maxwell-bootstrap --database gmall --table cart_info --config /opt/maxwell/config.properties
之前要先启动maxwell不然数据会阻塞
/opt/maxwell/bin/maxwell --config /opt/maxwell/config.properties --daemon