修复 Apache Solr 9.7.0 Windows 启动问题

问题描述 投票:0回答:1

问题

尝试使用基本启动命令或云示例在 Windows 上启动 Apache Solr 9.7.0 时,您可能会遇到以下错误:

  1. 基本开始(
    .\solr.cmd start
    ):
Failed to parse command-line arguments due to: Unrecognized option: --max-wait-secs
ERROR: Solr did not start or was not reachable.
  1. 以云为例(
    .\solr.cmd start -e cloud
    ):
Invalid command-line option: --cloud

环境

  • 阿帕奇Solr:9.7.0
  • 操作系统:Windows 11
  • Java:JDK 17
  • Shell:PowerShell(作为管理员)
solr startup
1个回答
0
投票

根本原因

Windows 二进制脚本 (

solr.cmd
) 包含不一致的命令开关,与解析器的期望不匹配。这似乎是 Solr 9.7.0 中 Windows 脚本的维护问题。

解决方案

  1. 导航到您的 Solr 安装目录
  2. 创建
    bin\solr.cmd
  3. 的备份
  4. 在文本编辑器(如 Notepad++ 或 VS Code)中打开
    bin\solr.cmd
  5. 进行以下更改:
    • 找到
      --max-wait-secs
      并替换为
      -maxWaitSecs
    • 找到
      -cloud
      并替换为
      --cloud

重要提示:

  • 仅更改每个参数出现的一次
  • 不要使用“全部替换”,因为它可能会影响其他正确的实例
  • 编辑前请确保有备份

修复后

应用这些修复后,您可能会看到这些警告,可以安全地忽略这些警告:

WARNING: URLs provided to this tool needn't include Solr's context-root (e.g. "/solr"). 
Such URLs are deprecated and support for them will be removed in a future release. 
Correcting from [http://localhost:8983/solr] to [http://localhost:8983/].
WARNING: A command line option has enabled the Security Manager
WARNING: The Security Manager is deprecated and will be removed in a future release

验证

应用修复后,验证这些命令是否有效:

.\solr.cmd start          # Basic start
.\solr.cmd start -e cloud # Cloud example
.\solr.cmd status         # Status check

补充说明

  • 即使以管理员身份运行 PowerShell 也需要这些修复
  • 关于大页内存的 JVM 警告可以忽略:
    OpenJDK 64-Bit Server VM warning: JVM cannot use large page memory because it does not have enough privilege to lock pages in memory.
    
  • 这似乎是 Windows 特有的问题,不会影响 Linux/Unix 安装

参考文献

© www.soinside.com 2019 - 2024. All rights reserved.