`
newspringwork
  • 浏览: 102959 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

第一章、Solr环境搭建

    博客分类:
  • Solr
 
阅读更多

这里,solr采用tomcat运行,对于solr6+,需要tomcat8+&jdk8+

1.下载需要的软件

 Solr6.1.0jdk1.8.0_102apache-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 in action

    这一章不仅包含了环境搭建的过程,还涉及了如何通过Solr管理界面进行基本的操作和调试。通过本章的学习,读者可以快速上手并掌握Solr的基础使用方法。 #### 三、关键概念解析 第三章“Key Solr concepts”深入探讨...

    the definitive guide to drupal 7

    **第一部分:入门篇**(Part I: Getting Started) - **第 1 章:构建 Drupal 7 网站**(Chapter 1: Building a Drupal 7 Site) - 引导读者从零开始搭建一个 Drupal 7 网站,包括安装过程、初始设置和基本配置。 ...

    Java微服务架构l零从基础到精通高清视频教程全套 163课

    028第一个 Docker 应用程序 029运行交互式的容器 030后台运行与停止容器 031Docker 客户端帮助命令 032运行 Web 容器 033指定 Web 容器映射端口 034查看容器进程 035查看容器状态 036批量移除容器 037Docker Hub ...

    Java微服务架构163课

    028第一个 Docker 应用程序 029运行交互式的容器 030后台运行与停止容器 031Docker 客户端帮助命令 032运行 Web 容器 033指定 Web 容器映射端口 034查看容器进程 035查看容器状态 036批量移除容器 037...

    alfresco developer guide

    #### 第二章:开始使用 Alfresco 本章主要介绍了如何获取 Alfresco SDK,并通过示例演示了如何从源代码构建 Alfresco。 **获取 SDK**: - 可以通过官方网站下载最新的 SDK 版本。 **构建过程**: - 本节提供了...

    嵌入式体验入门班.pdf

    第 5 章 嵌入式 Linux 开发环境搭建................................................................. 44 5.1交叉编译工具链....................................................................................

Global site tag (gtag.js) - Google Analytics