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获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

Linux下安装Anaconda3全过程

《Linux下安装Anaconda3全过程》:本文主要介绍Linux下安装Anaconda3全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录简介环境下载安装一、找到下载好的文件名为Anaconda3-2018.12-linux-x86_64的安装包二、或者通

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1

Mybatis Plus JSqlParser解析sql语句及JSqlParser安装步骤

《MybatisPlusJSqlParser解析sql语句及JSqlParser安装步骤》JSqlParser是一个用于解析SQL语句的Java库,它可以将SQL语句解析为一个Java对象树,允许... 目录【一】jsqlParser 是什么【二】JSqlParser 的安装步骤【三】使用场景【1】sql语