上一篇我们初识了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="1.0" encoding="UTF-8" standalone="yes"?

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

3:改动server.xml的URI编码

在tomcat的D:\work\work-tools\webserver\tomcat-6.0.37\conf下编辑server.xml

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

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 [/solr] 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




Solr学习笔记-在Tomcat上部署执行Solr的更多相关文章

  1. Solr学习笔记(5)—— Spring Data Solr入门

    一.Spring Data Solr简介 前面已经介绍了通过solrJ来操作solr,那么我们如何将Solr的应用集成到Spring中?Spring Data Solr就是为了方便Solr的开发所研制 ...

  2. solr学习笔记-入门

    solr学习笔记 1.安装前准备 solr依赖java 8 运行环境,所以我们先安装java.如果没有java环境无法启动solr服务,并且会看到如下提示: [root@localhost solr- ...

  3. Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引

    Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server ...

  4. Solr学习笔记之1、环境搭建

    Solr学习笔记之1.环境搭建 一.下载相关安装包 1.JDK 2.Tomcat 3.Solr 此文所用软件包版本如下: 操作系统:Win7 64位 JDK:jdk-7u25-windows-i586 ...

  5. Solr学习笔记之5、Component(组件)与Handler(处理器)学习

    Solr学习笔记之5.Component(组件)与Handler(处理器)学习 一.搜索篇 拼写检查(spellCheck) 作用:用来检查用户输入的检索内容是否存在,如果不存在则给它提示出相近或相似 ...

  6. Quartz学习笔记:集群部署&高可用

    Quartz学习笔记:集群部署&高可用 集群部署 一个Quartz集群中的每个节点是一个独立的Quartz应用,它又管理着其他的节点.这就意味着你必须对每个节点分别启动或停止.Quartz集群 ...

  7. Solr学习笔记之2、集成IK中文分词器

    Solr学习笔记之2.集成IK中文分词器 一.下载IK中文分词器 IK中文分词器 此文IK版本:IK Analyer 2012-FF hotfix 1 完整分发包 二.在Solr中集成IK中文分词器 ...

  8. golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web

    golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web Nginx 部署 - beego: 简约 & 强大并存的 Go 应用框架https://bee ...

  9. Solr学习笔记之4、Solr配置文件简介

    Solr学习笔记之4.Solr配置文件简介 摘自<Solr in Action>. 1. solr.xml – Defines one or more cores per Solr ser ...

随机推荐

  1. 去除Coding4Fun中MessagePrompt的边框(Border)

    在App.xaml文件中添加 xmlns:c4f="clr-namespace:Coding4Fun.Toolkit.Controls;assembly=Coding4Fun.Toolkit ...

  2. ALT+数字,可输入汉字或拉丁字母 good

    各种编码查询表:http://bm.kdd.cc/ 输入 ALT + 50385 就出 难 字了,原因是它的十六进制ANSI编码是C4D1=50385 同理: 汉=BABA=47802字=D7D6=5 ...

  3. Form Personalization应用总结

    1 Form Personalization 简介 Oracle EBS 11.5.10增加了Form Personalization功能,该功能不仅是技术功能的一次增强,也是对业务功能的扩展,提高了 ...

  4. linux 内核驱动--Platform Device和Platform_driver注册过程

    linux 内核驱动--Platform Device和Platform_driver注册过程 从 Linux 2.6 起引入了一套新的驱动管理和注册机制 :Platform_device 和 Pla ...

  5. Github是什么?看完你就了解一些了

    要了解Github,我们首先要知道Git,Git是管理代码的工具,写代码不是件轻松的事儿,一个人写的时候已经不轻松了,一群人写就更不轻松了,但这世界上很多事都是怎么不轻松怎么来的,大部分人都会和别人一 ...

  6. MySQL information_schema表查询导致内存暴涨

    case:下面的一条sql语句,导致mysql实例内存暴涨: select * from tables where table_name not in(select table_name from p ...

  7. BASE64编码规则及C#实现

    一.编码规则      Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.它将需要编码的数据拆分成字节数组.以3个字节为一组.按顺序排列24位数据,再把这24位数据分成4组 ...

  8. UITableView添加静态背景.

    1:  controller self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@" ...

  9. Java线程之Phaser

    Phaser是一个灵活的线程同步工具,他包含了CyclicBarrier和CountDownLatch的相关功能 首先,来看一下如何用Phaser替代CountDownLatch.对于CountDow ...

  10. css网站导航-菜单

    一个简单的网站导航效果: 效果案例:查看演示 css: ;;;} body{font-family: arial, 宋体, serif;font-size: 12px;} .menu{width:11 ...