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;是版本不匹配吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是的,您遇到的问题很可能是版本不匹配导致的。具体来说,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 兼容的情况,并根据需求选择合适的版本。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。