FlinkCDC1.14 cdc 2.3.0
2023-10-13T14:53:59.280467890+08:00 2023-10-13 06:53:59,279 ERROR org.apache.flink.runtime.util.ClusterUncaughtExceptionHandler [] - WARNING: Thread 'connection-pool-rm-bp14126jn85wyy0yb.mysql.rds.aliyuncs.com:3306 connection closer' produced an uncaught exception. If you want to fail on uncaught exceptions, then configure cluster.uncaught-exception-handling accordingly
2023-10-13T14:53:59.280494973+08:00 java.lang.NoClassDefFoundError: com/mysql/cj/protocol/ExportControlled
2023-10-13T14:53:59.280497893+08:00 at com.mysql.cj.protocol.NetworkResources.forceClose(NetworkResources.java:53) ~[?:?]
2023-10-13T14:53:59.280501400+08:00 at com.mysql.cj.protocol.AbstractSocketConnection.forceClose(AbstractSocketConnection.java:103) ~[?:?]
2023-10-13T14:53:59.280503366+08:00 at com.mysql.cj.protocol.a.NativeProtocol.quit(NativeProtocol.java:1274) ~[?:?]
2023-10-13T14:53:59.280505262+08:00 at com.mysql.cj.NativeSession.quit(NativeSession.java:149) ~[?:?]
2023-10-13T14:53:59.280507160+08:00 at com.mysql.cj.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:1722) ~[?:?]
2023-10-13T14:53:59.280509143+08:00 at com.mysql.cj.jdbc.ConnectionImpl.close(ConnectionImpl.java:713) ~[?:?]
2023-10-13T14:53:59.280511343+08:00 at com.ververica.cdc.connectors.shaded.com.zaxxer.hikari.pool.PoolBase.quietlyCloseConnection(PoolBase.java:143) ~[?:?]
2023-10-13T14:53:59.280513260+08:00 at com.ververica.cdc.connectors.shaded.com.zaxxer.hikari.pool.HikariPool.lambda$closeConnection$1(HikariPool.java:451) ~[?:?]
2023-10-13T14:53:59.280515161+08:00 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]
2023-10-13T14:53:59.280517050+08:00 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]
2023-10-13T14:53:59.280519302+08:00 at java.lang.Thread.run(Unknown Source) [?:?]
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
从提供的错误日志来看,您在使用 Flink CDC 1.14 版本连接到阿里云 RDS MySQL 实例时遇到了 java.lang.NoClassDefFoundError: com/mysql/cj/protocol/ExportControlled 错误。这个错误通常意味着 Java 运行时环境无法找到或加载某个类定义,这里具体是 MySQL Connector/J 的一个内部类。
解决这个问题的步骤可以包括:
检查依赖冲突:确保您的项目中没有不同版本的 MySQL Connector/J 或其他可能引起冲突的库。Flink CDC 可能自带了特定版本的 MySQL 驱动,而外部引入的驱动可能会导致冲突。查看项目的依赖管理配置(如 Maven 的 pom.xml 或 Gradle 的 build.gradle),确认是否有不一致之处,并统一到一个兼容的版本。
依赖排除与升级:如果发现有冲突的库,尝试使用依赖排除功能来移除冲突的版本,或者直接升级到一个已知兼容的 MySQL Connector/J 版本。对于 Flink CDC,你可能需要查看其文档以了解推荐的驱动版本。
验证类路径:确认运行时环境中确实包含了所需的 MySQL Connector/J JAR 文件。可以通过启动参数或应用服务器配置来检查类路径设置是否正确。
清理和重建:有时候,即使修复了依赖问题,旧的编译产物或缓存仍然可能导致问题。尝试清空本地构建缓存、重新编译并打包你的应用。
环境一致性:确保开发、测试和生产环境使用的Java版本、库版本保持一致,避免因环境差异引发的问题。
查看 Flink CDC 文档:访问 Apache Flink 或 Flink CDC Connector 的官方文档,查看是否有已知问题或特定于版本的配置指南。
如果以上步骤不能解决问题,建议查阅相关社区论坛或提交 issue 到 Flink CDC 的 GitHub 仓库,寻求更专业的帮助。同时,考虑到您使用的是阿里云RDS,也可以联系阿里云技术支持获取进一步的帮助。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。