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

Solr 9.4.0启动失败及安装服务脚本报错求助

Solr 9.4.0启动失败及安装服务脚本报错求助

看起来你在macOS Sonoma上部署Solr 9.4.0时遇到了两个头疼的问题,我帮你逐个分析解决:

一、bin/solr start -p 8984启动失败的问题

从你贴的日志来看,核心错误是:

java.lang.IllegalStateException: Unable to register module: ${jetty.base}/modules/._gzip.mod

这个._gzip.mod是macOS系统自动生成的隐藏资源分支文件(通常是解压Solr压缩包时,Finder或旧解压工具创建的),Jetty误把它当成了合法的Jetty模块文件去读取,结果因为文件编码问题抛出了错误。

解决步骤:

  1. 先停止可能残留的Solr进程(如果有的话):
    bin/solr stop -p 8984
    
  2. 定位到Solr目录下的server/modules文件夹,删除所有以._开头的隐藏文件(比如._gzip.mod);或者用终端命令批量删除(替换成你的Solr实际安装路径):
    find /你的solr安装路径/solr-9.4.0/server/modules -name "._*" -delete
    
  3. 重新启动Solr:
    bin/solr start -p 8984
    

二、install_solr_service.sh脚本运行报错的问题

你遇到的${distro_string,,}: bad substitution错误,是因为这个脚本是专门为Linux发行版设计的,macOS自带的Bash版本(3.2.x)不支持${var,,}这种把变量转小写的语法(这是Bash 4.0+才有的特性),所以这个脚本在macOS上没法直接用。

替代方案:手动配置macOS系统服务(用launchd)

macOS用launchd管理系统服务,你可以通过创建plist配置文件来实现Solr开机自启:

  1. 新建一个plist文件,比如命名为org.apache.solr.plist,内容如下(记得替换所有路径为你的Solr实际安装路径):
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>org.apache.solr</string>
        <key>ProgramArguments</key>
        <array>
            <string>/你的solr安装路径/solr-9.4.0/bin/solr</string>
            <string>start</string>
            <string>-p</string>
            <string>8984</string>
            <string>-s</string>
            <string>/你的solr安装路径/solr-9.4.0/server/solr</string>
        </array>
        <key>WorkingDirectory</key>
        <string>/你的solr安装路径/solr-9.4.0</string>
        <key>RunAtLoad</key>
        <true/>
        <key>KeepAlive</key>
        <true/>
        <key>StandardOutPath</key>
        <string>/你的solr安装路径/solr-9.4.0/server/logs/solr-launchd-out.log</string>
        <key>StandardErrorPath</key>
        <string>/你的solr安装路径/solr-9.4.0/server/logs/solr-launchd-err.log</string>
    </dict>
    </plist>
    
  2. 把这个文件放到对应的目录:
    • 如果要给当前用户配置,放到~/Library/LaunchAgents/
    • 如果要给全系统配置,放到/Library/LaunchDaemons/(需要sudo权限)
  3. 加载并启动服务:
    # 用户级服务
    launchctl load ~/Library/LaunchAgents/org.apache.solr.plist
    launchctl start org.apache.solr
    
    # 系统级服务(需要sudo)
    sudo launchctl load /Library/LaunchDaemons/org.apache.solr.plist
    sudo launchctl start org.apache.solr
    
  4. 停止或卸载服务:
    # 停止
    launchctl stop org.apache.solr
    # 卸载(开机不再自启)
    launchctl unload ~/Library/LaunchAgents/org.apache.solr.plist
    

备注:内容来源于stack exchange,提问作者kloop

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 12:22:58