Nifi可正常启停但浏览器无法访问,疑似JAVA配置错误问题求助
问题原因
该报错是因为NiFi 1.14.0版本正式发布时未适配Java 17的JPMS模块系统强封装规则,Snappy压缩库的原生类加载逻辑需要调用被Java 17默认限制访问的ClassLoader.defineClass方法,导致类加载失败、Jetty服务启动中断,所以无法通过浏览器访问Web界面。
解决方案
方案一:降级JDK版本(优先推荐,兼容性最好)
- NiFi 1.14.0官方兼容的Java版本为JDK 8或JDK 11,卸载当前Java 17,安装适配版本的JDK
- 配置好
JAVA_HOME环境变量,确保终端执行java -version返回的版本为JDK 8或11 - 重启NiFi服务,等待启动完成后即可正常访问Web界面
方案二:修改启动参数适配Java 17(临时兼容方案,可能存在其他未知功能异常)
- 打开NiFi安装目录下的
conf/bootstrap.conf文件 - 在现有
java.arg.配置项末尾新增以下配置,注意配置项的序号要和你现有配置的序号保持连续,不要重复:
java.arg.18=--add-opens java.base/java.lang=ALL-UNNAMED java.arg.19=--add-opens java.base/java.nio=ALL-UNNAMED java.arg.20=--add-opens java.base/java.util=ALL-UNNAMED java.arg.21=--add-opens java.base/sun.nio.ch=ALL-UNNAMED
- 保存文件后重启NiFi服务,验证Web界面是否可以正常访问
验证说明
NiFi启动完成后可查看logs/nifi-app.log日志确认没有报错,默认访问地址为http://localhost:8080/nifi,如果修改过端口配置请替换为你设置的对应端口。
内容的提问来源于stack exchange,提问作者woodardj0303
相关产品推荐
相关产品推荐

