开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC看起来像是找不到sql胖包中的类?

Flink CDC去掉flink-connector-mysql-cdc的包,就报这样的错误
看起来像是找不到sql胖包中的类?Caused by: java.lang.ClassCastException: cannot assign instance of com.fasterxml.jackson.databind.ObjectMapper to field com.ververica.cdc.connectors.mysql.table.MySqlDeserializationConverterFactory$2.val$objectMapper of type com.ververica.cdc.connectors.shaded.com.fasterxml.jackson.databind.ObjectMapper in instance of com.ververica.cdc.connectors.mysql.table.MySqlDeserializationConverterFactory$2
at java.base/java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(Unknown Source)
at java.base/java.io.ObjectStreamClass$FieldReflector.checkObjectFieldValueTypes(Unknown Source)
at java.base/java.io.ObjectStreamClass.checkObjFieldValueTypes(Unknown Source)
at java.base/java.io.ObjectInputStream.defaultCheckFieldValues(Unknown Source)

展开
收起
真的很搞笑 2023-11-30 15:46:23 173 0
3 条回答
写回答
取消 提交回答
  • 刚确认了下,MySqlParser这个类flink cdc没有重写过,sql胖包我没用过,flink-connector-mysql-cdc在flink-sql-connector-mysql-cdc包下应该都能找到image.png
    你们可以试下把sqlserver的胖包删掉,只保留mysql的一个胖包,flink-connector-mysql-cdc这个包也直接删掉。如果能正常运行,就考虑用瘦包或自己重新打一个sqlserver+mysql的胖包image.png
    ,只可以拥有一个包,不能都放进去image.png
    ,此回答整理自钉群“Flink CDC 社区”

    2023-11-30 20:44:38
    赞同 展开评论 打赏
  • 这个错误是因为你在代码中尝试将一个com.fasterxml.jackson.databind.ObjectMapper的实例赋值给一个com.ververica.cdc.connectors.shaded.com.fasterxml.jackson.databind.ObjectMapper的实例,但是这两个类并不是同一个类型,所以导致了ClassCastException。

    这个问题可能是由于你在项目中引入了重复的Jackson依赖导致的。你可以检查一下你的项目依赖,看是否有多个版本的Jackson被引入。如果有的话,你可以尝试删除多余的依赖,只保留一个版本的Jackson。

    2023-11-30 17:32:51
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据报错信息,它指出在实例化 com.ververica.cdc.connectors.mysql.table.MySqlDeserializationConverterFactory$2 类时发生了类型转换错误。具体来说,它试图将 com.fasterxml.jackson.databind.ObjectMapper 类型的实例分配给 com.ververica.cdc.connectors.shaded.com.fasterxml.jackson.databind.ObjectMapper 类型的字段。

    这种错误通常是由于类加载器冲突或版本不兼容性引起的。可能发生以下情况之一:

    1. Flink 版本和 CDC 连接器版本不兼容:确保 Flink 版本和使用的 CDC 连接器版本相匹配。不同版本的 Flink 和 CDC 连接器可能存在依赖冲突或类兼容性问题。

    2. 类加载器冲突:如果您从多个源导入了相同的类,可能会导致类加载器冲突。检查您的项目依赖项并确保没有重复导入相同的类。

    3. 依赖版本冲突:检查您项目中使用的其他依赖项,特别是与 Jackson 相关的依赖项。不同版本的 Jackson 可能会导致冲突。尝试升级或降级 Jackson 相关的依赖项版本,以解决冲突问题。

    2023-11-30 15:52:08
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载