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.homesetenv.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
相关产品推荐
相关产品推荐

