如何解决Windows环境下run-nifi.bat无法正常运行的问题
Apache NiFi启动后无法访问localhost:8080/nifi的排查方案
问题描述
下载并安装Apache NiFi 1.6.0后,执行run-nifi.bat启动进程,但无法通过localhost:8080/nifi访问控制台,CMD输出如下:
D:\nifi-1.6.0\bin>run-nifi Failed to determine if Process 4520 is running; assuming that it is not 2023-02-08 11:43:58,367 INFO [main] org.apache.nifi.bootstrap.Command Starting Apache NiFi... 2023-02-08 11:43:58,367 INFO [main] org.apache.nifi.bootstrap.Command Working Directory: D:\nifi-1.6.0 2023-02-08 11:43:58,367 INFO [main] org.apache.nifi.bootstrap.Command Command: C:\Program Files\Java\jdk1.8.0_172\bin\java.exe -classpath D:\nifi-1.6.0.\conf;D:\nifi-1.6.0.\lib\javax.servlet-api-3.1.0.jar;D:\nifi-1.6.0.\lib\jcl-over-slf4j-1.7.25.jar;D:\nifi-1.6.0.\lib\jetty-schemas-3.1.jar;D:\nifi-1.6.0.\lib\jul-to-slf4j-1.7.25.jar;D:\nifi-1.6.0.\lib\log4j-over-slf4j-1.7.25.jar;D:\nifi-1.6.0.\lib\logback-classic-1.2.3.jar;D:\nifi-1.6.0.\lib\logback-core-1.2.3.jar;D:\nifi-1.6.0.\lib\nifi-api-1.6.0.jar;D:\nifi-1.6.0.\lib\nifi-framework-api-1.6.0.jar;D:\nifi-1.6.0.\lib\nifi-nar-utils-1.6.0.jar;D:\nifi-1.6.0.\lib\nifi-properties-1.6.0.jar;D:\nifi-1.6.0.\lib\nifi-runtime-1.6.0.jar;D:\nifi-1.6.0.\lib\slf4j-api-1.7.25.jar -Dorg.apache.jasper.compiler.disablejsr199=true -Xmx512m -Xms512m -Djavax.security.auth.useSubjectCredsOnly=true -Djava.security.egd=file:/dev/urandom -Dsun.net.http.allowRestrictedHeaders=true -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -XX:+UseG1GC -Djava.protocol.handler.pkgs=sun.net.www.protocol -Dnifi.properties.file.path=D:\nifi-1.6.0.\conf\nifi.properties -Dnifi.bootstrap.listen.port=53098 -Dapp=NiFi -Dorg.apache.nifi.bootstrap.config.log.dir=D:\nifi-1.6.0\bin..\logs org.apache.nifi.NiFi 2023-02-08 11:43:58,844 WARN [main] org.apache.nifi.bootstrap.Command Failed to set permissions so that only the owner can read pid file D:\nifi-1.6.0\bin..\run\nifi.pid; this may allows others to have access to the key needed to communicate with NiFi. Permissions should be changed so that only the owner can read this file 2023-02-08 11:43:58,860 WARN [main] org.apache.nifi.bootstrap.Command Failed to set permissions so that only the owner can read status file D:\nifi-1.6.0\bin..\run\nifi.status; this may allows others to have access to the key needed to communicate with NiFi. Permissions should be changed so that only the owner can read this file 2023-02-08 11:43:58,860 INFO [main] org.apache.nifi.bootstrap.Command Launched Apache NiFi with Process ID 5776
排查与解决步骤
- 查看详细运行日志:CMD输出仅显示启动成功,但实际运行错误会记录在
D:\nifi-1.6.0\logs目录下的nifi-app.log或nifi-bootstrap.log中,重点查找包含ERROR的条目,定位具体故障原因(如配置错误、依赖缺失等)。 - 检查端口占用情况:执行
netstat -ano | findstr :8080,若输出结果中有其他进程占用8080端口,可通过任务管理器结束对应PID的进程,或修改D:\nifi-1.6.0\conf\nifi.properties中的nifi.web.http.port参数(例如改为8081),重启NiFi后尝试访问新端口。 - 验证Java环境:确保
JAVA_HOME环境变量指向C:\Program Files\Java\jdk1.8.0_172,且系统中没有其他版本的Java干扰NiFi运行。可通过java -version命令确认当前Java版本是否为1.8.x。 - 确认NiFi进程状态:执行
tasklist | findstr 5776,若进程已不存在,说明NiFi启动后异常退出,需结合日志进一步排查;若进程仍在运行,尝试清除浏览器缓存后重新访问,或用curl http://localhost:8080/nifi测试连接。 - 修复文件权限警告(可选):右键
D:\nifi-1.6.0\run目录下的nifi.pid和nifi.status文件,选择「属性」-「安全」,删除除当前用户外的所有权限条目,仅保留当前用户的读取权限,消除启动时的权限警告。
内容的提问来源于stack exchange,提问作者suman
相关产品推荐
相关产品推荐

