7

我已将文件放在文件apache-solr-3.5.0.war夹中C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps

会自动创建一个文件夹“apache-solr-3.5.0”。当我去:http://localhost:8080/apache-solr-3.5.0/

我可以看到消息“欢迎使用 Solr!”。

solr-4.3.1.war现在,当我对文件夹中的文件执行完全相同的操作时C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps

会自动创建一个文件夹solr-4.3.1。但现在当我去:

http://localhost:8080/solr-4.3.1/ OR to http://localhost:8080/solr-4.3.1/admin.html

我看到了错误:

HTTP 状态 404 - 类型状态报告

消息:描述请求的资源不可用。

Apache Tomcat/6.0.37

我错过了什么?

更新:

这显示在 Tomcat 控制台窗口中:

INFO: Solr
home set to 'solr/' 12-jul-2013 18:27:36
org.apache.solr.core.SolrResourceLoader <init> INFO: Solr home set to
'solr\.\' 12-jul-2013 18:27:36 org.apache.solr.common.SolrException
log SEVERE: java.lang.RuntimeException: Can't find resource
'solrconfig.xml' in class sath or 'solr\.\conf/', cwd=C:\Program
Files\Apache Software Foundation\Tomcat
6.0
        at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoad
er.java:268)


12-jul-2013 18:27:36 org.apache.solr.servlet.SolrDispatchFilter init
INFO: user.dir=C:\Program Files\Apache Software Foundation\Tomcat 6.0
12-jul-2013 18:27:36 org.apache.solr.servlet.SolrDispatchFilter init
INFO: SolrDispatchFilter.init() done 12-jul-2013 18:27:36
org.apache.solr.servlet.SolrServlet init INFO: SolrServlet.init()
12-jul-2013 18:27:36 org.apache.solr.core.SolrResourceLoader
locateSolrHome INFO: No /solr/home in JNDI 12-jul-2013 18:27:36
org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: solr home
defaulted to 'solr/' (could not find system property or JNDI)
12-jul-2013 18:27:36 org.apache.solr.servlet.SolrServlet init INFO:
SolrServlet.init() done 12-jul-2013 18:27:36
org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: No
/solr/home in JNDI 12-jul-2013 18:27:36
org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: solr home
defaulted to 'solr/' (could not find system property or JNDI)
12-jul-2013 18:27:36 org.apache.solr.servlet.SolrUpdateServlet init
INFO: SolrUpdateServlet.init() done 12-jul-2013 18:27:36
org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web
application archive solr-4.3.1.war 12-jul-2013 18:27:36
org.apache.catalina.core.StandardContext start SEVERE: Error
filterStart 12-jul-2013 18:27:36
org.apache.catalina.core.StandardContext start SEVERE: Context
[/solr-4.3.1] startup failed due to previous errors 12-jul-2013
18:27:36 org.apache.catalina.startup.HostConfig deployDirectory INFO:
Deploying web application directory ROOT 12-jul-2013 18:27:36
org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote
HTTP/1.1 on http-8080 12-jul-2013 18:27:36
org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on
/0.0.0.0:8009 12-jul-2013 18:27:36 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/56  config=null 12-jul-2013 18:27:36
org.apache.catalina.startup.Catalina start INFO: Server startup in 880
ms

我解压后的 Solr 文件夹包含以下文件夹:

css  
img  
js  
META-INF  
tpl  
WEB-INF  

更新

将此添加到我的环境变量后:

JAVA_OPTS = $JAVA_OPTS -Dsolr.solr.home=C:/Databases/solr-4.3.1/example/solr

启动后出现以下两个错误:

SEVERE: org.apache.solr.common.SolrException: Invalid luceneMatchVersion 'LUCENE_43', valid values are: [LUCENE_20, LUCENE_21, LUCENE_22, LUCENE_23, LUCENE_24,LUCENE_29, LUCENE_30, LUCENE_31, LUCENE_32, LUCENE_33, LUCENE_34,LUCENE_35, LUCENE_CURRENT] or a string in format 'V.V'


SEVERE: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jars. If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext directory. For other containers, the corresponding directory should be used.

完整日志:

SEVERE: org.apache.solr.common.SolrException: Invalid luceneMatchVersion 'LUCENE _43', valid values are: [LUCENE_20, LUCENE_21, LUCENE_22, LUCENE_23, LUCENE_24, LUCENE_29, LUCENE_30, LUCENE_31, LUCENE_32, LUCENE_33, LUCENE_34, LUCENE_35, LUC ENE_CURRENT] or a string in format 'V.V'
    at org.apache.solr.core.Config.parseLuceneVersionString(Config.java:353)

13-jul-2013 13:46:02 org.apache.solr.servlet.SolrDispatchFilter init INFO: user.dir=C:\Program Files\Apache Software Foundation\Tomcat 6.0
13-jul-2013 13:46:02 org.apache.solr.servlet.SolrDispatchFilter init INFO: SolrDispatchFilter.init() done 13-jul-2013 13:46:02 org.apache.solr.servlet.SolrServlet init INFO: SolrServlet.init()
13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: No /solr/home in JNDI 13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: using system property solr.solr.home: C:\Databases\solr-4.3.1\exam ple\solr
13-jul-2013 13:46:02 org.apache.solr.servlet.SolrServlet init INFO: SolrServlet.init() done 13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: No /solr/home in JNDI 13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: using system property solr.solr.home: C:\Databases\solr-4.3.1\exam ple\solr
13-jul-2013 13:46:02 org.apache.solr.servlet.SolrUpdateServlet init INFO: SolrUpdateServlet.init() done
13-jul-2013 13:46:02 org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive solr-4.3.1.war 13-jul-2013 13:46:03 org.apache.catalina.core.StandardContext filterStart SEVERE: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jar s. If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext direct ory. For other containers, the corresponding
directory should be used. For more information, see:
http://wiki.apache.org/solr/SolrLogging

更新 3

我现在收到“HTTP 状态 503 - 服务器正在关闭”错误。

14-jul-2013 14:21:57 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performanc
e in production environments was not found on the java.library.path: C:\Program
Files\Apache Software Foundation\Tomcat 6.0\bin;C:\Windows\Sun\Java\bin;C:\Windo
ws\system32;C:\Windows;C:\Program Files\Common Files\Microsoft Shared\Windows Li
ve;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\
system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShe
ll\v1.0\;C:\Program Files\TortoiseSVN\bin;c:\msxsl;C:\Program Files (x86)\Window
s Live\Shared;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program File
s (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows
 Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110
\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Prog
ram Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQ
L Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL S
erver\110\DTS\Binn\;C:\Program Files (x86)\Java\jre6\bin;C:\Program Files\Java\j
re631\bin;.
14-jul-2013 14:21:57 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
14-jul-2013 14:21:57 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 283 ms
14-jul-2013 14:21:57 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
14-jul-2013 14:21:57 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.37
14-jul-2013 14:21:57 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
14-jul-2013 14:21:57 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive solr-4.3.1.war
log4j:WARN No appenders could be found for logger (org.apache.solr.servlet.SolrD
ispatchFilter).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more in
fo.
14-jul-2013 14:21:58 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
14-jul-2013 14:21:58 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
14-jul-2013 14:21:58 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
14-jul-2013 14:21:58 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/55  config=null
14-jul-2013 14:21:58 org.apache.catalina.startup.Catalina start
INFO: Server startup in 719 ms

我在这里阅读了有关此错误的内容,但在添加了我的logging.properties.

4

7 回答 7

7

在另一个论坛上为我解决了这个问题,这是我遵循的步骤:

  1. 提取 solr431 包。就我而言,我在“E:\solr-4.3.1\example\solr”中做了
  2. 现在将解压缩包 (E:\solr-4.3.1\example\solr) 中的 solr 目录复制到 TOMCAT_HOME 目录中。在我的例子中,TOMCAT_HOME 目录指向 E:\Apache\Tomcat 6.0。
  3. 我现在可以将 SOLR_HOME 称为“E:\Apache\Tomcat 6.0\solr”(请记住这一点)
  4. 将解压缩包中的 solr.war 文件复制到 SOLR HOME 目录,即 E:\Apache\Tomcat 6.0\solr。这是创建上下文所必需的。因为我不想将其作为 JAVA OPTS 传递
  5. 还将 solr.war 文件复制到 TOMCAT_HOME\webapps 以进行部署
  6. 如果你启动 tomcat,你会得到 Shawn 提到的错误。S0 您需要将所有 5 个 jar 文件从 solr 提取包 ( E:\solr-4.3.1\example\lib\ext ) 复制到 TOMCAT_HOME\lib 目录:

    1. 七月到 slf4j-1.6.6,
    2. jcl-over-slf4j-1.6.6,
    3. slf4j-log4j12-1.6.6,
    4. slf4j-api-1.6.6,
    5. log4j-1.2.16
  7. 还将 log4js.properties 文件从 E:\solr-4.3.1\example\resources 目录复制到 TOMCAT_HOME\lib 目录。

  8. 现在如果你启动tomcat你不会有任何问题。
于 2013-07-20T07:06:34.700 回答
7

在 Tomcat 中安装 Solr

前置要求

1 – 装有 Windows 操作系统的机器 (Windows 7,8,Xp.. ..etc)

2 – Java 6 或以上

3 - Solr 4.0.0 或更高版本

4 – Apache-tomcat 6 或更高版本。

在 Tomcat 服务器上启动 Solr 的步骤

1.在您的机器上安装 Tomcat 并确保它已准备好启动。(使用 localhost:8080 检查)

2.安装Solr4.0分发包apache-solr-4.0.0.zip,解压到本地目录C:\apache-solr-4.0.0。

3.在本地机器上创建一个名为 solr-home 的文件夹,例如 C:\solr_home。

4.回到你下载的solr分发包C:\apache-solr-4.0.0。查看示例/solr ("C:\solr-4.4.0\example\solr") 文件夹。将所有这些文件复制到 C:\solr_home 文件夹中。(会出现服务器关闭异常)

5.查看C:\solr-home\solr,你会看到两个名为collection1和bin的文件夹,将这两个文件夹复制到C:\solr_home。(如果lib没有复制“严重错误filterstart”异常来)

6.将 lib 从 C:\apache-solr-4.0.0\example\lib\ext SLF4J 和 log4j.jar 文件复制到 Tomcat Lib 文件夹 C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib ( https:// wiki.apache.org/solr/SolrLogging#Using_the_example_logging_setup_in_containers_other_than_Jetty

7.将apache-solr-4.0.war(重命名为solr.war)从“C:\solr-4.4.0\dist”目录复制到Tomcat内的webapps目录。(C:\Program Files\Apache Software Foundation\Tomcat 6.0 \webapps)

8.如果 tomact 已经启动,则 solr 文件夹将创建转到“C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\solr\WEB-INF\web.xml”编辑 web.xml 取消注释条目并编辑如下(由于初始化失败,异常 SolrCore 'collection1' 不可用)

<env-entry>
   <env-entry-name>solr/home</env-entry-name>
   <env-entry-value>C:\solr_home\solr</env-entry-value>
   <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

9.启动Tomcat,检查localhost:8080/solr dashBoard 会来

于 2013-08-06T06:48:06.810 回答
1

Solr 4.3.0(及更高版本)更新了使用 Solr 进行日志记录的方式。如果您检查 Tomcat 日志,您很可能会看到“过滤器异常”错误。有关在 Tomcat 上运行 Solr 4.3.0 及更高版本所需的步骤, 请参阅Solr 日志记录 - 在 Jetty 以外的容器中使用示例日志记录设置。

于 2013-07-12T18:35:00.170 回答
1

根据我的笔记(我前段时间做过那个程序),我必须在 Tomcat“caralina.sh”(如果你使用 windows,则为 catalina.bat)中添加一个额外的行:

export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/opt/solr/example/solr"

这用于指定 solr 的“配置”和“数据”目录(存储数据的位置)。就我而言,它是“/opt/solr/example/solr”,但您需要使用系统中包含“配置”文件和“数据”目录的目录。例如,如果您在 Windows 中将下载的 Solr 包解压缩到 C: 中,则应使用“C:\solr-4.3.1\examples\solr\”。这意味着,您将在 Tomcat 中部署“Solr.war”(您已经这样做了),但 Solr 的配置和存储的“数据”将位于您在 catalina.bat 中指定的目录中(JAVA_OPS,例如:C: \solr-4.3.1\examples\solr)。


在 windows 中的 Tomcat 中安装 Solr 的良好说明:http: //liuweipingblog.cn/java/install-lucene-solar-with-tomcat-on-windows/

于 2013-07-12T17:14:29.023 回答
1

由于 solr 的单独日志记录机制而发生此错误。经过研究我发现,您需要在您的 tomcat 库中添加 slf4j 日志 jar。(根据我的本地机器是:C:\xampp\tomcat\lib)

从下面的url下载并将jar文件复制到tomcat lib中

http://www.slf4j.org/download.html

完成上述步骤后,它在我的本地系统中运行良好。

于 2013-09-22T03:39:03.620 回答
0

lucene 版本的错误提示你还在部署 3.5 版本。我的意思是,我确定你放了 4.x 战争,但出于某种原因(忘记删除战争、tmp 文件),3.5 仍然存在。当您使用系统属性指示 solr.home 时,您正在部署的“所有”solr 将读取它。因此,在您的情况下,4.3.1 对给定的 solr home(包含 LUCENE43)感到满意,但 3.5 抛出异常(3.5 不知道 4.3)

于 2013-07-14T16:29:55.200 回答
0

它包括几个步骤

  1. 下载 solr-XXX.zip 并解压到 solr-XXX。

  2. 将 solr-XXX.war(解压 .zip 后从 solr-XXX/dist 文件夹中)复制到 Tomcat/webapps。然后解压缩 .war 文件(使用 WinZip 等)。这将创建文件夹 solr-XXX。将 log4j-XXX.jar,slf4j-api-XXX.jar,slf4j-log4j12-XXX.jar,commons-logging-XXX.jar 复制到 Tomcat/webapps/solr-XXX/WEB-INF/lib 中。并创建一个文件夹 Tomcat/webapps/solr-XXX/WEB-INF/classes 并在此处从 solr-XXX\example\resources 复制 log4j.properties

  3. 在任何地方创建目录 MySolrHome 并在此处复制 solr-XXX\example\solr 文件夹的内容

  4. 添加 JAVA_OPTS=-Dsolr.solr.home=Path/to/MySolrHome/

启动Tomcat

于 2014-02-18T11:30:49.740 回答