Solr Setup - 错误:无法找到或加载主类org.apache.solr.cloud.ZkCLI

时间:2014-11-17 13:34:31

标签: java windows solr lucene apache-zookeeper

我正在按照教程使用Windows 7,Java版本1.8和Solr版本4.10.2设置Solr(http://lucene.apache.org/solr/quickstart.html)。

Java安装在C:\ root \ java,Solr安装在c:\ root \ solr-4.10.2。

我添加了2个环境变量作为用户变量:

CLASSPATH = C:\ROOT\solr-4.10.2\dist\solr-core-4.10.2.jar
JAVA_HOME = c:\root\java

然后我在命令提示符下运行以下代码:

cd c:\root\solr-4.10.2\bin & solr start -e cloud -noprompt

输出粘贴在下面。尽管没有添加启动核心,但集合1的Solr服务器似乎工作正常。但是,为什么ZkCLI和SolrCLI会出现错误?我做错了吗?

Welcome to the SolrCloud example


Starting up  Solr nodes for your example SolrCloud cluster.
Starting node1 on port 8983 using command:
solr -cloud -p 8983 -d node1

Waiting for  0 seconds, press a key to continue ...
Starting node2 on port 7574 using command:
solr -cloud -p 7574 -d node2 -z localhost:9983

Waiting for  0 seconds, press a key to continue ...

Now let's create a new collection for indexing documents in your 2-node cluster.


Deploying default Solr configuration files to embedded ZooKeeper

Error: Could not find or load main class org.apache.solr.cloud.ZkCLI
Creating new collection gettingstarted with 2 shards and replication factor 2 us
ing Collections API command:

"http://localhost:8983/solr/admin/collections?action=CREATE&name=gettingstarted&
replicationFactor=2&numShards=2&collection.configName=default&maxShardsPerNode=3
&wt=json&indent=2"

For more information about the Collections API, please see: https://cwiki.apache
.org/confluence/display/solr/Collections+API

Error: Could not find or load main class org.apache.solr.util.SolrCLI

SolrCloud example is running, please visit http://localhost:8983/solr"


c:\ROOT\solr-4.10.2\bin>java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

c:\ROOT\solr-4.10.2\bin>

8 个答案:

答案 0 :(得分:8)

在另一个site上找到它,它对我有用。

如果你在没有云选项的情况下运行solr,它会为云选项提供一些额外的工作。

因此,只需运行solr.cmd start,然后solr.cmd stop -p 8983即可进行准备。

然后最后运行solr.cmd start -e cloud -noprompt

在教程中应该注意,但Solr似乎并不适合Windows。我认为环境变量也很重要,所以感谢您的信息。

答案 1 :(得分:2)

另外,请确保您尚未下载源存档。从版本6.6.1(solr-6.6.1-src。)开始,源代码约为52mb,而本教程所需的归档文件大约为145mb(solr-6.6.1。)。< / p>

答案 2 :(得分:1)

遇到同样的问题。

问题源于solr目录中已存在的webapp目录。当演示运行zkcli.sh时,它会检查webapp目录是否存在,如果存在,则不会执行任何操作。如果它不存在,它实际上会在webapps目录中提取solr.war。默认情况下,使用4.10.2包,webapp目录存在但是为空,这会导致抛出有趣的类路径错误。

例如。你将solr-4.10.2.tgz提取到〜/ solr-4.10.2

转到〜/ solr-4.10.2 / example / solr-webapp / webapp,检查webapp目录中是否有任何内容(不应该),删除webapp目录。

应该解决问题。

答案 3 :(得分:1)

在SolrCloud章节中,参考指南明确指出:

&#34;确保在开始之前至少在非SolrCloud模式下从示例目录运行Solr一次;此过程解压缩运行SolrCloud所需的jar文件。但是,不要加载文档,只需启动一次并关闭它。&#34;

他们应该使用此信息更新教程。

答案 4 :(得分:1)

这对我有用

java -classpath example \ exampledocs \ post.jar -Dauto = yes -Dc = gettingstarted -Ddata = files -Drecursive = yes org.apache.solr.util.SimplePostTool docs /

https://cwiki.apache.org/confluence/display/solr/Post+Tool#PostTool-Windows

答案 5 :(得分:1)

我遇到了同样的问题,在搜索后我意识到我错过了“ant compile”步骤。

这对我有用

 1073  tar -zxvf solr-5.3.1-src.tgz
 1074  cd solr-5.3.1
 1076  nano README.txt
 1077  ant compile
 1096  cd solr
 1098  cd bin
 1100  chmod a+x solr
 1108  cd ..
 1111  cd solr
 1112  ant server
 1113  bin/solr start

[vagrant@localhost solr]$ java -version
java version "1.7.0_91"
OpenJDK Runtime Environment (rhel-2.6.2.1.el7_1-x86_64 u91-b00)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)

[vagrant@localhost solr]$ ant -version
Apache Ant(TM) version 1.9.2 compiled on June 10 2014

[vagrant@localhost solr]$ cat /etc/*release
CentOS Linux release 7.0.1406 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CentOS Linux release 7.0.1406 (Core)
CentOS Linux release 7.0.1406 (Core)

答案 6 :(得分:0)

该类捆绑在solr-core-4.x.y.jar中,因此如果您在Solr中的Zookeeper之外运行实用程序脚本,则它必须在您的类路径中可用。

您可以在dist/solr-core-4.x.y.jar下找到solr-core-4.x.y.jar。将x.y替换为您当前的版本号。

答案 7 :(得分:0)

Apache Solr的GitHub发行版不一定与Solr Reference Guide的发行版相对应。

我从Solr Reference Guide下载了.tgz安装文件,现在程序在bin/solr startbin/solr start -e cloud的终端中运行

说明::在MacOS上,我从Solr Downloads page

下载了solr-8.1.0.tgz