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

Flink CDC3.0 启动报这个错?

Flink CDC3.0 启动报这个错?image.png

展开
收起
真的很搞笑 2024-01-01 06:45:13 109 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    是的,这是因为在Flink CDC 3.0 中引入了一个新的特性叫做 Schema Evolution (Schema Change Event) ,它允许用户实时地修改源数据中的列名和类型等元数据属性而无需停机进行手动更改。然而,在某些情况下,这种功能可能会引发一些不兼容性问题,从而出现像你遇到的NoSuchMethodError这类的异常。

    对于这种类型的错误,通常需要对以下几个方面进行排查:

    1. 检查Java虚拟机(JVM)的类加载顺序是否正确。有时,旧版的JDK会优先使用本地磁盘上的class字节码而不是远程服务器上更新过的class字节码。可以通过增加参数 -XX:+UseURLClassLoading 来强制使用 URL 类加载方式。
    2. 检查CDP客户端和服务端之间的序列化协议是否一致。如果服务端升级但客户端尚未升级,可能出现序列化格式不匹配的问题。此时应尽快将客户端升级到同一版本。
    3. 在必要的情况下,可以在集群环境中禁用 schema evolution 功能,直到所有的组件都升级完毕后再启用该功能。
    2024-01-01 13:46:56
    赞同 展开评论 打赏
  • java.lang.NoSuchMethodError错误解决 https://blog.csdn.net/kawsaki/article/details/123101477

    一、错误原因

    java.lang.NoSuchMethodError错误可能的原因:

    1、有这个类,该类没有这个方法

    2、类冲突、Jar包冲突、Jar包版本冲突

    3、有这个类(A),类中也有方法,但在B类中引用了A类,并调用A类的方法,后面修改A类,把该A类的方法返回值类型改变(如将方法返回类型由void类型改成String类型),只部署A类,没有重新部署B类,将导致NoSuchMethodError错误。

    二、解决方案

    1、有这个类,该类没有这个方法

    在类增加方法。

    2、类冲突、Jar包冲突、Jar包版本冲突

    删除冲突类、Jar包,更换冲突的Jar包版本。

    3、有这个类(A),类中也有方法,但在B类中引用了A类,并调用A类的方法,后面修改A类,把该A类的方法返回值类型改变(如将方法返回类型由void类型改成String类型),只部署A类,没有重新部署B类,将导致NoSuchMethodError错误。

    把引用到A类的代码都重新打包部署。

    2024-01-01 09:01:35
    赞同 展开评论 打赏

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

相关产品

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

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