You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04下Zeppelin0.10.0集成Flink1.14.0启动FlinkInterpreter失败求助

错误原因
  1. Java版本兼容性问题:你当前使用的Java 11在Zeppelin 0.10.0的Flink解释器中存在反射调用适配问题,虽然Flink 1.14本身支持Java 11,但Zeppelin 0.10.0的Flink解释器针对Java 8做了更多适配,Java 11的模块化机制会导致反射构造类时出现参数类型不匹配的错误。
  2. Flink与Zeppelin解释器版本适配问题:Zeppelin 0.10.0内置的Flink解释器默认适配的Flink版本低于1.14,两者的Scala交互接口存在差异,导致初始化FlinkScalaInterpreter时构造函数参数不匹配。
解决方案

方案一:降级Java版本为Java 8(最简便,成功率最高)

  1. 安装OpenJDK 8
sudo apt install openjdk-8-jdk -y
  1. 切换系统默认Java版本为Java 8
sudo update-alternatives --config java
sudo update-alternatives --config javac

执行上述命令后在弹出的列表中选择Java 8对应的序号,回车确认。
3. 验证Java版本

java -version

输出显示openjdk version "1.8.x即为切换成功。
4. 重启Flink集群和Zeppelin服务

# 停止Flink
cd /home/flink/flink-1.14.0
./bin/stop-cluster.sh
# 停止Zeppelin
cd /home/zeppelin/zeppelin-0.10.0-bin-all
bin/zeppelin-daemon.sh stop
# 重启Flink
./bin/start-cluster.sh
# 重启Zeppelin
bin/zeppelin-daemon.sh start
  1. 重新在Zeppelin中运行测试代码即可。

方案二:适配Java 11+版本,手动替换Zeppelin的Flink解释器依赖

如果必须使用Java 11,可按如下步骤操作:

  1. 停止Zeppelin服务
cd /home/zeppelin/zeppelin-0.10.0-bin-all
bin/zeppelin-daemon.sh stop
  1. 删除Zeppelin内置的旧Flink相关jar包
rm -rf interpreter/flink/flink*.jar
rm -rf interpreter/flink/scala*.jar
  1. 复制Flink 1.14安装目录lib下的所有jar包到Zeppelin的flink解释器目录
cp /home/flink/flink-1.14.0/lib/* /home/zeppelin/zeppelin-0.10.0-bin-all/interpreter/flink/
  1. 修改Zeppelin启动参数,添加Java 11反射权限配置
    编辑conf/zeppelin-env.sh文件,添加如下配置:
export ZEPPELIN_JAVA_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED"
  1. 重启Zeppelin服务,重新运行测试代码即可。

内容的提问来源于stack exchange,提问作者David Sánchez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:36:09