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

Flink1.17为什么需要JDK 11呢?JDK8我试了也能运行

Flink1.17为什么需要JDK 11呢?JDK8我试了也能运行

展开
收起
三分钟热度的鱼 2023-11-08 21:21:13 573 1
4 条回答
写回答
取消 提交回答
  • 虽然您在使用 JDK 8 运行 Flink 1.17 时没有遇到任何问题,但 Flink 官方推荐使用的 Java 版本是 JDK 11。这是因为从 Flink 1.17 开始,部分依赖于 Flink 的第三方库已经弃用了对 JDK 8 的支持,并要求使用 JDK 11 或更高版本。

    此外,JDK 11 在性能、稳定性以及新特性和 API 方面较之 JDK 8 都有所改进,因此 Flink 官方建议用户尽可能使用最新版的 Java 来运行 Flink 应用程序。同时,请注意在安装和配置过程中选择正确的 Java 版本以避免可能出现的问题。

    当然,您也可以继续使用 JDK 8 运行 Flink 1.17,但是可能会出现一些未知的问题或潜在风险,所以建议尽量遵循官方推荐的做法,升级至 JDK 11 或更高版本。

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

    虽然 Flink 1.17 支持 JDK 8 和更高版本,但是 Flink 官方推荐使用 JDK 11。这是因为 Flink 依赖的一些第三方库(如 Arrow)要求使用 JDK 11。
    此外,JDK 11 还引入了很多新的特性和改进,可以更好地支持 Flink 的特性。例如,JDK 11 提供了更加稳定和高效的垃圾回收机制,以及增强的并行 GC 功能。因此,使用 JDK 11 可以为 Flink 提供更好的性能。
    另外,JDK 8 已经不再受到 Oracle 的维护和支持,这意味着一旦出现问题,Oracle 不再发布安全更新或补丁。因此,使用 JDK 8 可能存在安全风险。相反,JDK 11 得到了长期的支持,可以在更长的时间内保持安全可靠。

    2023-11-09 13:19:49
    赞同 1 展开评论 打赏
  • Apache Flink官方文档明确指出,Flink 1.17版本需要Java 11环境才能运行。这可能是因为Flink 1.17在开发和测试过程中使用的是Java 11,因此为了保证兼容性和稳定性,建议使用Java 11运行Flink 1.17。虽然你提到JDK 8也能运行,但这可能是因为某些功能在JDK 8下仍然可以正常工作,但并不保证所有功能都能正常实现,也不保证程序的稳定性和安全性。因此,为了保证你的Flink应用能够正常运行并避免潜在的风险,建议使用Java 11作为运行环境。

    2023-11-09 10:05:56
    赞同 1 展开评论 打赏
  • 是 flink 同时兼容 jdk 11 和jdk 8 ,而 jdk 8 的兼容最终会被移除,新发布的 1.18 已经兼容 jdk 17 了。此回答整理自钉群“【②群】Apache Flink China社区”

    2023-11-08 21:29:51
    赞同 1 展开评论 打赏

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

相关产品

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

    更多
    基于 Flink SQL + Paimon 构建流式湖仓新方 立即下载
    基于 Flink CDC 打造 企业级实时数据集成方案 立即下载
    李劲松|Flink Table Store 典型应用场景 立即下载