maxwell 报错: java.lang.RuntimeException: error: unhandled character set ‘utf8mb3‘

maxwell版本:1.29.2

MySQL版本: 8.0.29

使用maxwell往kafka里传递数据时,遇到了如下问题:maxwell 报错: java.lang.RuntimeException: error: unhandled character set ‘utf8mb3‘_第1张图片

这个问题是因为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

maxwell 报错: java.lang.RuntimeException: error: unhandled character set ‘utf8mb3‘_第2张图片

解压打开,找到有问题的类:com.zendesk.maxwell.schema.columndef.StringColumnDef,加上能识别utf8mb3的语句。

maxwell 报错: java.lang.RuntimeException: error: unhandled character set ‘utf8mb3‘_第3张图片

重新打包,上传即可。

如果是使用的尚硅谷的教学版maxwell,可以打包后,取出里面的StringColumnDef.class,复制粘贴到教学版对应位置。

重启maxwell。

maxwell 报错: java.lang.RuntimeException: error: unhandled character set ‘utf8mb3‘_第4张图片

maxwell文件:

链接: https://pan.baidu.com/s/13kSEK345Wsr1QlrchPv4iA?pwd=jzc1 提取码: jzc1 复制这段内容后打开百度网盘手机App,操作更方便哦

你可能感兴趣的:(java,开发语言,kafka)