Windows系统下Apache NiFi启动失败,无法获取进程ID求助
问题说明
运行run-nifi.bat时出现以下警告:
2023-01-12 11:20:53,787 INFO [main] org.apache.nifi.bootstrap.Command Failed to determine Process ID from [java.lang.ProcessImpl]: java.lang.Process.pid()
2023-01-12 11:20:53,787 WARN [main] org.apache.nifi.bootstrap.Command Launched Apache NiFi but could not determined the Process ID
先确认核心进程状态
这个警告只是NiFi的bootstrap程序无法获取进程ID,NiFi核心进程可能已经正常启动,先做以下检查:
- 打开任务管理器,查找关联NiFi的
java.exe进程 - 尝试访问默认UI地址
https://localhost:8443,首次访问需信任自签名证书
解决方案
如果NiFi确实未启动,或需要消除该警告,按以下步骤操作:
升级Java版本
你当前使用的zulu8.46.0.19属于Java 8早期版本,在Windows环境下Process.pid()API存在兼容性问题。升级到Java 8u261及以上版本,或切换到Java 11/17(NiFi 1.19.1支持这三个版本)。指定PID文件路径
编辑bin/run-nifi.bat脚本,在启动Java的命令行中添加参数:-Dnifi.bootstrap.pid.file=.\logs\nifi.pid让bootstrap程序可以将PID写入指定文件,避免无法获取PID的问题。
调整解压路径
当前NiFi工作目录是C:\NIFI-1~1.0(短路径格式),建议将NiFi解压到无空格、无特殊字符的路径,比如C:\nifi-1.19.1,避免路径解析异常导致的各类问题。
内容的提问来源于stack exchange,提问作者Kyle

