chj0771 发表于 2017-3-2 08:53:12

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:\work\work-tools\solr\solr-4.7.2\solr-4.7.2\example\下的solr文件夹复制到C:\solr-tomcat下。
  
  2:建立JNDI文件
  在tomcat的D:\work\work-tools\webserver\tomcat-6.0.37\conf\Catalina\localhost以下创建solr.xml文件。
  内容例如以下:

<?  xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?

  >
<Context docBase=&quot;D:\work\work-tools\webserver\tomcat-6.0.37\webapps\solr.war&quot; debug=&quot;0&quot; crossContext=&quot;true&quot; >
? <Environment name=&quot;solr/home&quot; type=&quot;java.lang.String&quot; value=&quot;C:\solr-tomcat\solr&quot; override=&quot;true&quot; />
</Context>
  

3:改动server.xml的URI编码
  在tomcat的D:\work\work-tools\webserver\tomcat-6.0.37\conf下编辑server.xml

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


  4:部署solr.war包
  把D:\work\work-tools\solr\solr-4.7.2\solr-4.7.2\dist下的solr-4.7.2.war改动为solr.war复制到D:\work\work-tools\webserver\tomcat-6.0.37\webapp下。
  5:配置日志
  这一步非常关键,假设不配置会出现下面错误
  Error filterStart
  Context startup failed due to previous errors

  在这里看不出究竟出现了什么错误。大致仅仅知道在启动Context /solr的时候,之前有配置出现了错误,可是什么配置我们不知道。这时候能够查看一下tomcat的\tomcat-6.0.37\logs文件夹下查看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.2\example\lib\ext下把全部的包都考到tomcat\lib文件夹下。
  


  6:启动tomcat
  
  watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW5keV9neA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">
  
  6:查看solr的admin页面http://127.0.0.1:8080/solr

  watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW5keV9neA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">
  总结:这些配置在solr的wiki上都有说明,而且都依照linux和windows分类,事实上solr真正的生产环境还是要部署在linux上的,由于Solr提供了一些用于測试及管理、维护较为方便的shell脚本。这样在linux运维solr是很方便的。
  
  注:wiki地址http://wiki.apache.org/solr/SolrTomcat
  


  









页: [1]
查看完整版本: Solr学习笔记-在Tomcat上部署执行Solr