Solr学习笔记-在Tomcat上部署执行Solr

上一篇我们初识了Solr而且学习了Jetty的启动方式。查看了Solr的管理界面,这一篇我们来实如今Tomcat上部署执行Solr。

部署环境:

                window7

                jdk1.6.0_14

                Solr-4.7.2

                tomcat-6.0.37

Solr的安装配置Solr home 。主要介绍基于JNDI的配置。其他方式能够參考Solr的wiki。



基于JNDI配置

1:首先建立一个Solr的执行文件夹。

C:solr-tomcat

将解压缩包中的D:workwork-toolssolrsolr-4.7.2solr-4.7.2example下的solr文件夹复制到C:solr-tomcat下。

2:建立JNDI文件

在tomcat的D:workwork-toolswebserver omcat-6.0.37confCatalinalocalhost以下创建solr.xml文件。

内容例如以下:

<?

xml version="1.0" encoding="UTF-8" standalone="yes"?

> <Context docBase="D:workwork-toolswebserver omcat-6.0.37webappssolr.war" debug="0" crossContext="true" > ? <Environment name="solr/home" type="java.lang.String" value="C:solr-tomcatsolr" override="true" /> </Context>


3:改动server.xml的URI编码

在tomcat的D:workwork-toolswebserver omcat-6.0.37conf下编辑server.xml

 <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000"
               redirectPort="8443"  URIEncoding="UTF-8" />


4:部署solr.war包

把D:workwork-toolssolrsolr-4.7.2solr-4.7.2dist下的solr-4.7.2.war改动为solr.war复制到D:workwork-toolswebserver omcat-6.0.37webapp下。

5:配置日志

这一步非常关键,假设不配置会出现下面错误

Error filterStart

Context [/solr] startup failed due to previous errors

在这里看不出究竟出现了什么错误。大致仅仅知道在启动Context /solr的时候,之前有配置出现了错误,可是什么配置我们不知道。这时候能够查看一下tomcat的 omcat-6.0.37logs文件夹下查看localhost.2014-08-23.log日志。我们会看到具体出错信息。

严重: Exception starting filter SolrRequestFilter
java.lang.NoClassDefFoundError: Failed to initialize Apache Solr: 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. For more information, see: http://wiki.apache.org/solr/SolrLogging

这里说的非常清楚是SLF4J的jar没有。我们到solr-4.7.2examplelibext下把全部的包都考到tomcatlib文件夹下。


6:启动tomcat


6:查看solr的admin页面http://127.0.0.1:8080/solr

总结:这些配置在solr的wiki上都有说明,而且都依照linux和windows分类,事实上solr真正的生产环境还是要部署在linux上的,由于Solr提供了一些用于測试及管理、维护较为方便的shell脚本。这样在linux运维solr是很方便的。

注:wiki地址http://wiki.apache.org/solr/SolrTomcat






原文地址:https://www.cnblogs.com/blfshiye/p/5247931.html