Flink CDC中这个问题是因为版本不匹配吗?

Flink CDC中mysql5.7,flink.version 1.13.5, flinkcdc.version 2.2.1,程序启动后查询数据报错:Caused by: java.lang.NoSuchMethodError: com.mysql.cj.CharsetMapping.getJavaEncodingForMysqlCharset(Ljava/lang/String;)Ljava/lang/String;是版本不匹配吗?

展开
收起
十一0204 2023-08-16 08:05:07 301 分享 版权
1 条回答
写回答
取消 提交回答
  • 是的,您遇到的问题很可能是版本不匹配导致的。具体来说,java.lang.NoSuchMethodError 错误通常表示所调用的方法在当前运行的环境中不存在或不可访问。

    在您的情况下,Flink CDC 版本为 2.2.1,这个版本可能与您使用的 MySQL Connector/J 版本不兼容。根据错误信息,可能是因为 Flink CDC 2.2.1 使用的 MySQL Connector/J 版本不支持 com.mysql.cj.CharsetMapping.getJavaEncodingForMysqlCharset 方法。

    解决这个问题的方法是将 Flink CDC 的版本与 MySQL Connector/J 版本进行匹配,确保它们兼容。您可以尝试使用与您的 MySQL Connector/J 版本兼容的 Flink CDC 版本,以避免这个问题。

    同时,请确保在 Flink 的依赖配置中,仅使用与您所选 Flink CDC 版本兼容的 MySQL Connector/J 版本。如果存在其他冲突的 MySQL Connector/J 版本,可能会导致类似的问题。

    建议在使用 Flink CDC 时,查看 Flink CDC 的官方文档或版本说明,以了解与不同版本的 MySQL Connector/J 兼容的情况,并根据需求选择合适的版本。

    2023-09-20 15:50:31
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理