【问题标题】:Solr 8.3.1: could not find or load org.apache.solr.util.SolrCLISolr 8.3.1:无法找到或加载 org.apache.solr.util.SolrCLI
【发布时间】:2020-04-12 06:06:00
【问题描述】:

所以我是 Solr 的新手,并且大部分时间都在使用 Solr 8.3.1(发布时的最新版本)来学习教程。

我在我的 Windows 10 机器上安装了 Java 版本 1.8.0_181,并且我已将 solr/bin 添加到 PATH 变量中。

当我运行 solr start 时,我得到:

/d/Program Files and Documents/solr-8.3.1/bin/solr: line 1525: ulimit: -m: invalid option
ulimit: usage: ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]
*** [WARN] *** Your open file limit is currently 256.
 It should be set to 65000 to avoid operational disruption.
 If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
*** [WARN] ***  Your Max Processes Limit is currently 256.
 It should be set to 65000 to avoid operational disruption.
 If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
/d/Program Files and Documents/solr-8.3.1/bin/solr: line 1542: [: !=: unary operator expected
NOTE: Please install lsof as this script needs it to determine if Solr is listening on port 8983.

Started Solr server on port 8983 (pid=). Happy searching!

这对我说它开始运行,但是当我运行 solr status 时,我得到:

Found 1 Solr nodes:

Solr process 56136 from /d/Program Files and Documents/solr-8.3.1/bin/solr-8983.pid not found.

这似乎不对。无论如何,我继续学习教程并运行 solr start -e cloud 并得到:

$ solr start -e cloud
/d/Program Files and Documents/solr-8.3.1/bin/solr: line 1525: ulimit: -m: invalid option
ulimit: usage: ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]
*** [WARN] *** Your open file limit is currently 256.
 It should be set to 65000 to avoid operational disruption.
 If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
*** [WARN] ***  Your Max Processes Limit is currently 256.
 It should be set to 65000 to avoid operational disruption.
 If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
/d/Program Files and Documents/solr-8.3.1/bin/solr: line 1542: [: !=: unary operator expected
Error: Could not find or load main class org.apache.solr.util.SolrCLI

我尝试了solr start -e techproducts,结果相同。

我已经看到了早期版本的 Solr 的答案,通常答案涉及更新 Solr 版本......我已经是最新的了?我确定我错过了一些愚蠢的东西,但任何正确方向的指针都将不胜感激!非常感谢!

编辑 1:已解决!正在使用基于 Cygwin 的 Git Bash。与 Windows 命令提示符和 Windows Powershell 一起工作就像一个魅力。

solr start 的输出:

Java HotSpot(TM) 64-Bit Server VM warning: JVM cannot use large page memory because it does not have enough privilege to lock pages in memory.
Waiting up to 30 to see Solr running on port 8983
Started Solr server on port 8983. Happy searching!

solr status 的输出:

Found Solr process 50764 running on port 8983
{
  "solr_home":"D:\\Program Files and Documents\\solr-8.3.1\\server\\solr",
  "version":"8.3.1 a3d456fba2cd1b9892defbcf46a0eb4d4bb4d01f - ishan - 2019-11-29 11:51:37",
  "startTime":"2019-12-19T22:20:25.127Z",
  "uptime":"0 days, 0 hours, 0 minutes, 14 seconds",
  "memory":"176.3 MB (%34.4) of 512 MB"}

solr start -e cloud 的输出:


Welcome to the SolrCloud example!

This interactive session will help you launch a SolrCloud cluster on your local workstation.
To begin, how many Solr nodes would you like to run in your local cluster? (specify 1-4 nodes) [2]:

【问题讨论】:

    标签: java java-8 solr solr8


    【解决方案1】:

    似乎您正在从/d/... 路径在cygwin 下运行bin/solr 的*nix 版本。在 Windows 下,您应该使用带有标准命令行控制台 (´cmd.exe`) 的 bin/solr.cmd 命令。

    solr.in 脚本似乎包含您在 cygwin 中的 bash 版本无法识别的选项。我猜这也可能影响类路径的设置,这意味着在预期的位置找不到类。

    【讨论】:

    • 你是 100% 的......我在使用 Git Bash。我确认它可以与 Windows 命令提示符和 Windows Powershell 一起正常工作(我将使用正确的输出编辑问题,以便人们知道它们的样子)。非常感谢!
    • 您认为将 PuTTY 放入 Unix 系统可能会出现类似问题吗?
    猜你喜欢
    • 2017-07-25
    • 2016-08-30
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    相关资源
    最近更新 更多