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

Ubuntu服务器上Apache Tomcat部署的Solr突发故障求助

Solr突然停止响应(503错误),Tomcat正常运行的紧急排查与修复

Ubuntu服务器上所有基于Codeigniter 3开发的应用搜索功能突然失效,原因是Solr服务停止响应。未对Apache或Tomcat做任何修改,Tomcat仪表盘http://server-ip:8080/可正常访问,但访问Solr GUIhttp://server-ip:8080/vidwan/#/时报错,请求返回503状态码。

已尝试操作

  • 执行Tomcat重启命令:
    /usr/local/apache-tomcat-7.0.57/bin/shutdown.sh
    sleep 10
    /usr/local/apache-tomcat-7.0.57/bin/startup.sh
    
  • 在/usr/local/apache-tomcat-7.0.57/bin/路径下创建setenv.sh文件,内容为:
    export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/usr/local/apache-tomcat-7.0.57/solr_vidwan"
    
  • 在/usr/local/apache-tomcat-7.0.57/conf/Catalina/localhost/路径下创建vidwan.xml文件,内容为:
    <Context docBase="/usr/local/apache-tomcat-7.0.57/webapps/solr" path="/vidwan" reloadable="true" crossContext="true"/>
    

相关日志信息

localhost_access_log.2025-01-08.txt

server-ip - - [08/Jan/2025:18:23:32 +0530] "HEAD /vidwan/edst/admin/ping HTTP/1.0" 503 -
my-local-ip - - [08/Jan/2025:18:23:52 +0530] "GET /vidwan/ HTTP/1.1" 503 1052

catalina.2025-01-09.log

WARNING: Security role name solr used in an <auth-constraint> without being defined in a <security-role>
Jan 09, 2025 12:02:31 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /usr/local/apache-tomcat-7.0.57/webapps/solr has finished in 3,586 ms
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.57/webapps/host-manager
Jan 09, 2025 12:02:31 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /usr/local/apache-tomcat-7.0.57/webapps/host-manager has finished in 37 ms
Jan 09, 2025 12:02:31 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jan 09, 2025 12:02:32 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jan 09, 2025 12:02:32 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 11793 ms

紧急排查与修复步骤

1. 检查Solr目录权限

登录服务器,验证solr_vidwan目录及其子文件的权限,确保Tomcat运行用户(通常为tomcat或www-data)拥有读写权限:

ls -ld /usr/local/apache-tomcat-7.0.57/solr_vidwan
ls -l /usr/local/apache-tomcat-7.0.57/solr_vidwan

若权限异常,执行以下命令修正:

chown -R tomcat:tomcat /usr/local/apache-tomcat-7.0.57/solr_vidwan
chmod -R 755 /usr/local/apache-tomcat-7.0.57/solr_vidwan

2. 查看Solr专属错误日志

Tomcat的catalina日志仅显示部署完成状态,Solr自身的运行错误会记录在solr_vidwan/logs目录下,检查该目录下的日志文件定位问题:

tail -n 50 /usr/local/apache-tomcat-7.0.57/solr_vidwan/logs/solr.log

3. 确认Solr Home配置生效

  • 确保setenv.sh有执行权限:
    chmod +x /usr/local/apache-tomcat-7.0.57/bin/setenv.sh
    
  • 重启Tomcat后,验证启动参数中是否包含-Dsolr.solr.home:
    ps aux | grep tomcat | grep solr.solr.home
    
    若未显示该参数,说明setenv.sh未被加载,可直接将JAVA_OPTS配置添加到startup.sh文件开头。

4. 修复Security Role警告

日志中的安全角色警告可能导致Solr初始化失败,编辑/usr/local/apache-tomcat-7.0.57/webapps/solr/WEB-INF/web.xml,在</web-app>标签前添加:

<security-role>
    <description>Solr Admin Role</description>
    <role-name>solr</role-name>
</security-role>

保存后重启Tomcat。

5. 测试Solr连接

修复完成后,通过curl命令测试Solr核心状态:

curl http://server-ip:8080/vidwan/admin/cores?action=STATUS

若返回JSON格式的核心状态信息,说明Solr服务已恢复正常。

内容的提问来源于stack exchange,提问作者Ronak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 04:50:20