solr5.2.1+tomcat7.0.63安装

1. 解压solr-5.2.1.tar.gz 到/usr/local/solr.5.2.1,进入安装目录,新建solr目录。

2. 将/usr/local/solr-5.2.1/server/solr/solr.xml拷贝到/usr/local/solr-5.2.1/solr目录中,将/usr/local/solr-5.2.1/server/webapps/solr.war拷贝到/usr/local/solr-5.2.1/solr目录中。

3. 解压tomcat-7.0.63.tar.gz到/usr/local/tomcat-7.0.63,在/usr/local/tomcat-7.0.63/conf/Catalina/localhost中新建solr.xml文件,目录没有则自己新建。

     编辑solr.xml:

             <?xml version="1.0" encoding="utf-8"?>
             <Context docBase="/usr/local/solr-5.2.1/solr/solr.war" crossContext="true">
                         <Environment name="solr/home" type="java.lang.String" value="/usr/local/solr-5.2.1/solr" override="true"/>
             </Context>

4. 启动tomcat, bin/startup.sh


出现的问题:

1. 浏览器访问http://ip:8080/solr时,访问失败。查看localhost.2015-08-20.log日志,发现:

Aug 20, 2015 5:06:45 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: 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:28)
        at org.apache.solr.servlet.BaseSolrFilter.<clinit>(BaseSolrFilter.java:31)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at java.lang.Class.newInstance(Class.java:374)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:116)
        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:4855)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5549)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

      原因:缺少日志包,将/usr/local/solr-5.2.1/server/lib/ext中所有包拷贝到/usr/local/tomcat-7.0.63/webapps/solr/WEB-INF/lib中,问题解决。


2. solr配置日志文件输出

        将/usr/local/solr-5.2.1/example/resources/log4j.properties拷贝到/usr/local/tomcat-7.0.63/webapps/solr/WEB-INF/classes/目录中,没有该目录则自己创建。

        修改/usr/local/tomcat-7.0.63/bin/catalina.sh文件,添加:

                  JAVA_OPTS="-Dsolr.solr.home=/usr/local/solr-5.2.1/solr -Dsolr.root.logger=INFO,file,DAILY"

        重启tomcat即可在/usr/local/solr-5.2.1/logs目录中查看solr.log日志。

       备注:

       可以根据需求修改日志配置文件log4j.properties,如:

solr.root.logger=INFO,file,DAILY
solr.log.dir=${solr.solr.home}/../logs
solr.log.file=solr.log

log4j.rootLogger=${solr.root.logger}

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x [%X{collection} %X{shard} %X{replica} %X{core}] \u2013 %m%n

#- size rotation with log cleanup.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.MaxFileSize=100MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.File=${solr.log.dir}/${solr.log.file}
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t] [%X{collection} %X{shard} %X{replica} %X{core}] (%C.%M:%L) - %m%n

#DAILY
log4j.appender.DAILY=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.DAILY.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.DAILY.rollingPolicy.ActiveFileName=${solr.log.dir}/${solr.log.file}
log4j.appender.DAILY.rollingPolicy.FileNamePattern=${solr.log.dir}/${solr.log.file}.%d{yyyy-MM-dd}
log4j.appender.DAILY.layout=org.apache.log4j.PatternLayout
log4j.appender.DAILY.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t] [%X{collection} %X{shard} %X{replica} %X{core}] (%C.%M:%L) - %m%n

log4j.logger.org.apache.zookeeper=WARN
log4j.logger.org.apache.hadoop=WARN

# set to INFO to enable infostream log messages
log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值