无法启动8983端口的Solr服务,执行启动命令遇JVM警告
解决Solr 6.6.2在8983端口启动失败及Java GC警告问题
首先,先聊聊你碰到的那两个Java警告——这是因为Solr 6.6.2默认配置的垃圾收集器参数在Java 9及以上版本已经被弃用了,而且Solr 6.x系列官方推荐的运行环境是Java 8,用Java 9+本身就可能带来兼容性问题,这大概率也是你启动失败的核心原因之一。下面给你一步步的解决办法:
1. 优先切换到Java 8运行环境
Solr 6.6.2对Java 8的支持最稳定,建议你这么做:
- 下载安装对应64位版本的Java 8(和你当前的JVM位数匹配)
- 临时在命令行设置JAVA_HOME指向Java 8的安装路径,比如:
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_301 set PATH=%JAVA_HOME%\bin;%PATH% - 然后重新执行启动命令:
solr.cmd -p 8983
2. 若无法切换Java版本,修改Solr的JVM参数
如果必须用Java 9+,那需要调整Solr的启动配置:
- 打开Solr安装目录下的
bin/solr.in.cmd文件 - 找到包含
-XX:+UseConcMarkSweepGC和-XX:+UseParNewGC的行,在行首加rem把它们注释掉 - 添加Java 9支持的G1垃圾收集器参数,替换成类似这样:
set SOLR_JAVA_MEM=-Xms512m -Xmx1g set SOLR_OPTS=%SOLR_OPTS% -XX:+UseG1GC - 保存文件后,重新尝试启动Solr
3. 检查8983端口是否被占用
有时候启动失败只是因为端口被其他程序占了,你可以用命令排查:
netstat -ano | findstr :8983
如果返回结果里有进程ID,打开任务管理器找到对应PID的进程结束它,再重新启动Solr。
4. 查看Solr日志定位具体错误
如果上面的方法都没解决问题,去Solr的server/logs目录下查看日志文件(比如solr.log),里面会有更详细的启动失败原因——比如权限不足、配置文件错误等,根据日志再针对性处理。
内容的提问来源于stack exchange,提问作者nano
相关产品推荐
相关产品推荐

