环境:
腾讯云CentOS Linux release 7.6.1810 (Core)
flink-1.16.1
java version "1.8.0_11"
java version "1.8.0_361"
背景:
昨天心血来潮,进入flink官网发现flink的稳定版本已经更新到了1.16.1了。想到我有大半年没碰过flink了,上次还是在弄1.10和1.13的呢。
我就想着按官方文档,在我自己的腾讯云服务器中本地模式安装一下flink,体验一下。( 本地模式安装 | Apache Flink)
但是在提交wordcount作业时报了一个错:Caused by: java.lang.IllegalStateException: The file .flink-runtime.version.properties has not been generated correctly. You MUST run 'mvn generate-sources' in the flink-runtime module.
百度了半天也没几个博客帖子是能看的(不是要我订阅专栏成为会员,就是要购买积分关注博主),好不容易找到一个解决方案,居然还是让我下源码下来改完重新打包上传。( The file .flink-runtime.version.properties has not been generated correctly-CSDN博客)我觉得有点扯皮了。
万里淘沙,最后在帖子里的评论里看到有大佬提醒是跟jdk有关。
然后在我之前的学习笔记翻到相关内容。其实flink对jdk8后面带的小版本号也是有限制的。个人踩坑避雷建议:flink使用的jdk版本建议在8u241以上。(更换jdk版本_Flink从0到1,jdk版本带来的bug解决-CSDN博客)
后面我就把jdk换成了8u361。
再按照官方文档提交一个wordcount任务,提交成功。
Tips:
虽然官方文档flink1.16.0里是写了java11,但其实jdk1.8也是可以的。