Solr6.4.1 安装部署到 Tomcat 8 (环境篇:Window10)

2024-02-25 19:48

本文主要是介绍Solr6.4.1 安装部署到 Tomcat 8 (环境篇:Window10),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这两天在看Solr,尝试使用了最新版Solr6.4.1。正常情况下,不需要做什么,只要解压后,在bin目录运行solr start就可以跑起来。但是,查了网上很多都是用Solr+Tomcat的方式。自己也就想尝试一下看看什么不同,毕竟Tomcat用的也比较多。看了很多仁兄的帖子,方式基本一致和完整。不知道是版本问题,还是其它原因,总有一两个关键点没有描述,所以即使用最新版本搭建环境,也会出问题。所以把所有问题及过程梳理一下,希望其他人少走几步弯路。


一、环境说明

  • Windows 10-x64
  • apache-tomcat-8.0.35-x64(解压版)
  • jdk-8u112-windows-x64 (网上都说必须用jdk1.8,否则会出错。因为电脑里一直用的就是JDK1.8,所以偷了个懒,也没有进行验证)
  • solr-6.4.1

二、部署步骤

(1)JDK和Tomcat安装

这里自我一把,搞Java开发应该都知道,就不在这里说了。

后面用“apache-tomcat-8.0.35”,来指代我本地tomcat的放置目录。

(2)解压solr

将下载好的Solr,下载到指定目录。

后面用“solr-6.4.1”,来指代我本地solr的放置目录。

(3)进行拷贝

  1. 将【solr-6.4.1\server\solr-webapp】下的“webapp”文件夹,整个拷贝到【Apache-tomcat-8.0.35\webapps】目录下,并将webapp重命名为solr

    针对这个命名有两种说法:一种说可以随便改,一种说最好写成solr,因为跟solr/home配置查询有关。现阶段我还没有验证,为了减少自己不懂的问题出现,暂且用第二种方式。

  2. 将【solr-6.4.1\server\lib\ext】下的所有jar包拷贝到【Apache-tomcat-8.0.35\webapps\solr\WEB-INF\lib】

看过很多帖子都只说到这里,只是拷贝【solr-6.4.1\server\lib\ext】下的jar包,实际上solr无法正常启动,访问http://localhost:8080/solr/index.html,会出现404错误,如下图: 
这里写图片描述

在【Apache-tomcat-8.0.35\logs】目录下,查看日志会发现错误:

22-Feb-2017 10:05:36.365 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.filterStart Exception starting filter SolrRequestFilterjava.lang.NoClassDefFoundError: com/codahale/metrics/MetricSetat java.lang.Class.getDeclaredConstructors0(Native Method)at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)at java.lang.Class.getConstructor0(Class.java:3075)at java.lang.Class.newInstance(Class.java:412)at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4660)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5298)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.codahale.metrics.MetricSetat org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)... 20 more
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

实际上是找不到metrics相关的包,所以还要将【solr-6.4.1\server\lib】下的所有metrics-.jar包拷贝到【Apache-tomcat-8.0.35\webapps\solr\WEB-INF\lib】*

3.将【solr-6.4.1\server\resources】下的log4j.properties配置文件拷贝到【apache-tomcat-8.0.35\webapps\solr\WEB-INF\classes】,如果WEB-INF下没有classes文件那么就创建一个classes文件夹

4.将【solr-6.4.1\server\solr】文件夹拷贝到任意非中文目录或者位置下,将其名字修改为“solrhome”“solrhome”包含的内容如下: 
这里写图片描述

5.修改【apache-tomcat-8.0.35\webapps\solr\WEB-INF】下的web.xml,找到如下代码:

<env-entry>  <env-entry-name>solr/home</env-entry-name>  <env-entry-value>/put/your/solr/home/here</env-entry-value>  <env-entry-type>java.lang.String</env-entry-type>  
</env-entry>  
  • 1
  • 2
  • 3
  • 4
  • 5

默认是注解掉,放开注解,并将中的值修改为刚刚步骤7中的solrhome目录,如:E:/solrHome

6.一般到这一步,基本上说就可以运行solr,但实际上还会出现,如下图所示的403错误: 
这里写图片描述。这个主要是由于在【Apache-tomcat-8.0.35\webapps\solr\WEB-INF\web.xml】文件中,有一段代码

<!-- Get rid of error message --><security-constraint><web-resource-collection><web-resource-name>Disable TRACE</web-resource-name><url-pattern>/</url-pattern><http-method>TRACE</http-method></web-resource-collection><auth-constraint/></security-constraint><security-constraint><web-resource-collection><web-resource-name>Enable everything but TRACE</web-resource-name><url-pattern>/</url-pattern><http-method-omission>TRACE</http-method-omission></web-resource-collection></security-constraint>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

将其注释掉即可。 
7. 启动tomcat,在控制台出现下图所示内容,说明Solr启动成功。 
这里写图片描述

8.访问http://localhost:8080/solr/index.html,出现下图:

这里写图片描述

参考资料:

[1]:http://www.cnblogs.com/zhi-leaf/p/5935928.html 
[2]:http://blog.csdn.net/qq_14806125/article/details/53014019 
[3]:http://m.blog.csdn.net/article/details?id=53199355

这篇关于Solr6.4.1 安装部署到 Tomcat 8 (环境篇:Window10)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/746515

相关文章

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas