1. JDK17与Flink1.17环境搭建实战
最近在升级技术栈时发现,Flink1.17已经明确要求JDK11+环境。作为一个长期使用JDK8的老玩家,我决定尝试最新的JDK17组合。这里记录下从零开始的完整搭建过程,包括你可能遇到的所有坑和解决方案。
1.1 JDK17安装避坑指南
首先去Oracle官网下载JDK17安装包。Windows用户直接运行exe安装,Linux用户可以用以下命令:
# Ubuntu/Debian
sudo apt-get install openjdk-17-jdk
# 验证安装
java -version
这里有个重要提示:如果你之前安装过其他JDK版本,记得检查JAVA_HOME环境变量是否指向了JDK17。我遇到过因为环境变量错乱导致Flink启动失败的情况。
安装完成后,建议配置以下JVM参数到IDE的VM Options中(后面会解释为什么需要这些参数):
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
1.2 Flink1.17部署要点
从官网下载Flink1.17二进制包后,解压即可使用。但需要注意:
- 检查conf/flink-conf.yaml中的JVM参数配置
- 如果使用Hadoop集成,需要额外下载对应的连接器
- Web UI默认端口8081,记得检查防火墙设置
启动命令很简单:
# 单机模式启动
./bin/start-cluster.sh
# 检查Web UI
http://localhost:8081
2. 项目配置与依赖管理
2.1 Maven配置关键点
在pom.xml中需要特别注意这些配置:
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<flink.version>1.17.0</flink.version>
</properties>
<dependencies>
<!-- 核心依赖 -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>


6560

被折叠的 条评论
为什么被折叠?



