Flink1.13.2运行在大数据TDH集群的jdk1.7上解决办法
TDH集群的JDK是1.7的,而Flink需要运行在JDK1.8以上,建议261版本以上。
出现问题
1、Flink提交到yarn上面运行,报JDK版本错误,默认使用了大数据集群的1.7版本的jdk
2、不能checkpoint
解决Flink运行在JDK1.7问题办法:
1、在FLink配置文件 flink-conf.yaml中指定JDK路径,将默认使用yarn的jdk改成指定路径的jdk
注意在冒号后面有空格
env.java.home: /usr/java/jdk1.8.0_261
containerized.master.env.JAVA_HOME: /usr/java/jdk1.8.0_261
containerized.taskmanager.env.JAVA_HOME: /usr/java/jdk1.8.0_261
2、TDH是通过K8S容器方式部署的
需要将JDK1.8.0_261版本上传到K8S的各个pod上
3、查询yarn的各个nodemanager的pods信息
kubectl get pods | grep yarn-nodemanager
会获取到每个pods的名称
4、每个pods都需要上传jdk
kubectl cp jdk1.8.0_261/ hadoop-yarn-nodemanager-xxxxxxxxxxxx:/usr/java
5、进入到k8s容器查看是否上传成功
kubectl exec -it pod名称 -n default /bin/sh
cd /ussr/java/