这里,solr采用tomcat运行,对于solr6+,需要tomcat8+&jdk8+
1.下载需要的软件
Solr6.1.0、jdk1.8.0_102、apache-tomcat-8.5.5
2.配置Tomcat运行的jdk
编辑tomcat的启动脚本bin/startup.bat
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_102
3.配置部署文件solr.xml
编辑tomcat目录下的文件(没有就新建):conf\Catalina\localhost\solr.xml
<Context path="/solr" docBase="D:\develop\solr\webapp6.1.0" reloadable="false" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="D:\develop\solr\home" override="true"/> </Context>其中:
- path:项目访问路径,如http://localhost/solr/
- docBase:solr的web工程路径
- Environment:solr/home变量指定solr的目录
- 如果不这么做就需要修改solr项目的web.xml文件,启用其中的env-entry配置,显然这种方式对solr修改更少、更佳
4.配置solr/home目录
根据前面的配置新建需要的solr/home目录,如上的D:\develop\solr\home目录
复制solr-6.1.0\server\solr下的所有文件到D:\develop\solr\home中
5.验证
至此,solr的环境基本搭建完成,启动tomcat,输入url验证:
http://localhost:8080/solr/index.html
6.异常篇
1)缺少metrics-*相关jar包
19-Apr-2017 17:08:43.718 严重 [localhost-startStop-2] org.apache.catalina.core.StandardContext.filterStart Exception starting filter SolrRequestFilter java.lang.NoClassDefFoundError: com/codahale/metrics/MetricSet at 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:4572) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5215) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:596) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1805) 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.MetricSet at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119) ... 20 more可以从solr源码目录中的server/lib/下复制相关的metrics-*包到web的lib目录中
2)缺少日志相关的jar包
19-Apr-2017 17:22:03.890 严重 [localhost-startStop-1] org.apache.catalina.core.StandardContext.filterStart 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 at org.apache.solr.servlet.CheckLoggingConfiguration.check(CheckLoggingConfiguration.java:27) at org.apache.solr.servlet.BaseSolrFilter.<clinit>(BaseSolrFilter.java:30) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) 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:4572) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5215) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:596) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1805) 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)
可以从solr源码目录中的server/lib/ext下复制日志相关的jar包到web的lib目录中
3)访问拒绝403
HTTP Status 403 - Access to the requested resource has been denied
注释掉web.xml中<security-constraint>元素这一段(限制了对solr资源的访问,注释掉就可以访问了)。
相关推荐
这一章不仅包含了环境搭建的过程,还涉及了如何通过Solr管理界面进行基本的操作和调试。通过本章的学习,读者可以快速上手并掌握Solr的基础使用方法。 #### 三、关键概念解析 第三章“Key Solr concepts”深入探讨...
**第一部分:入门篇**(Part I: Getting Started) - **第 1 章:构建 Drupal 7 网站**(Chapter 1: Building a Drupal 7 Site) - 引导读者从零开始搭建一个 Drupal 7 网站,包括安装过程、初始设置和基本配置。 ...
028第一个 Docker 应用程序 029运行交互式的容器 030后台运行与停止容器 031Docker 客户端帮助命令 032运行 Web 容器 033指定 Web 容器映射端口 034查看容器进程 035查看容器状态 036批量移除容器 037Docker Hub ...
028第一个 Docker 应用程序 029运行交互式的容器 030后台运行与停止容器 031Docker 客户端帮助命令 032运行 Web 容器 033指定 Web 容器映射端口 034查看容器进程 035查看容器状态 036批量移除容器 037...
#### 第二章:开始使用 Alfresco 本章主要介绍了如何获取 Alfresco SDK,并通过示例演示了如何从源代码构建 Alfresco。 **获取 SDK**: - 可以通过官方网站下载最新的 SDK 版本。 **构建过程**: - 本节提供了...
第 5 章 嵌入式 Linux 开发环境搭建................................................................. 44 5.1交叉编译工具链....................................................................................