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

flink的flink-shade-guava18,要不升级flink版本,要不自己编译cdc降级?

flink的flink-shade-guava18,跟cdc的flink-shade-guava30你们咋搞的,要不升级flink版本,要不自己编译cdc降级?

展开
收起
真的很搞笑 2023-12-03 19:04:58 170 0
2 条回答
写回答
取消 提交回答
  • 作为一个认知智能模型,我无法确定您所提到的具体情况。但是,如果您使用的是Flink CDC,并且遇到了版本冲突问题,则可以尝试以下解决方案:

    1. 升级Flink版本:将Flink CDC与最新版本的Flink一起使用,以确保兼容性和最佳性能。

    2. 编译CDC并降级Guava:您可以从CDC源代码中手动编译它,并在构建过程中指定要使用的Guava版本。这可以确保CDC与您的Flink版本兼容。

    3. 排除依赖项:如果以上两种方法都不起作用,则可以尝试在Flink应用程序中排除Guava依赖项。这可以通过在Flink的pom.xml文件中添加以下内容来完成:

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>30.1-jre</version>
        <scope>provided</scope>
    </dependency>
    

    这将告诉Maven仅在运行时提供Guava库,而不是将其包含在应用程序的类路径中。

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

    Flink CDC 的 flink-shade-guava18 和 flink-shade-guava30 版本冲突是一个常见问题。Guava 30 中的 API 和行为与 Guava 18 不完全兼容,因此直接替换版本可能会导致运行时错误或异常。为避免这种版本冲突,您有以下几种选择:

    1. 升级 Flink 版本:如果您使用的是 Flink 1.x 版本,建议升级到最新的 1.14 版本。Flink 1.14 版本已经升级了 Guava 版本,并且与 Flink CDC 2.4 兼容,因此可以很好地解决版本冲突问题。

    2. 编译CDC降级:如果您不想升级 Flink 版本,可以考虑编译 CDC 时降级 Guava 版本。具体来说,可以将 Flink CDC 2.4 中使用的 Guava 30 替换为 Guava 18。此外,确保您的 Flink 版本与 CDC 版本之间的依赖关系是兼容的,例如 flink-streaming-scala_2.11:1.13.3中使用 flink-shaded-guava 18.0-13.0版本,而flink-connector-mysql-cdc 2.3.0中使用 30.1.1-jre-16.0 版本会造成版本冲突。

    2023-12-03 21:10:21
    赞同 展开评论 打赏

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

相关产品

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

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