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

求助:SolrCore无法解析字符串致Tomcat停止,如何修复?

Dspace+Solr导致Tomcat频繁停止的故障修复方案

常见原因及对应修复步骤

1. Solr索引损坏

Dspace依赖Solr存储检索索引,索引文件损坏会直接导致SolrCore加载失败,进而引发Tomcat崩溃。

  • 操作步骤:
    • 停止Tomcat服务
    • 定位Dspace的Solr索引目录(默认路径:[Dspace安装根目录]/solr/[core名称]/data/index,core通常为search或discovery)
    • 备份当前索引目录到其他位置
    • 删除索引目录下的全部文件
    • 进入Dspace的bin目录,执行索引重建命令:
      dspace index-discovery -b
      
    • 启动Tomcat服务,观察故障是否消除

2. Solr内存分配不足

Windows Server 2012下Tomcat默认内存配额较小,Solr运行时内存耗尽会触发OOM错误,导致Tomcat意外停止。

  • 操作步骤:
    • 打开Tomcat安装目录下的bin文件夹,新建或编辑setenv.bat文件
    • 添加内存配置(根据服务器实际内存调整,示例为2G初始内存、4G最大内存):
      set JAVA_OPTS=-Xms2g -Xmx4g -XX:MaxPermSize=512m
      
    • 保存文件后重启Tomcat服务

3. 文件权限缺失

Solr运行账户没有足够权限读写索引目录或日志文件,会引发运行异常并拖垮Tomcat。

  • 操作步骤:
    • 找到Solr的索引目录和日志目录
    • 右键目录 → 属性 → 安全选项卡
    • 给Tomcat运行账户(通常为Local System或自定义服务账户)添加完全控制权限
    • 重启Tomcat服务

4. Solr与Dspace版本不兼容

Dspace对Solr版本有严格依赖,版本不匹配会导致SolrCore初始化失败。

  • 操作步骤:
    • 查阅Dspace官方文档确认当前版本兼容的Solr版本
    • 卸载现有Solr,安装对应版本
    • 重新配置Dspace的Solr连接参数,重启服务

临时应急恢复

若需快速恢复服务,可先将Solr设置为只读模式,避免写入操作触发故障:

  • 打开对应SolrCore的solrconfig.xml文件
  • 添加以下配置:
    <indexConfig>
      <readonly>true</readonly>
    </indexConfig>
    
  • 重启Tomcat服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 17:19:55