Ubuntu下安装Solr4.4

操作环境: Win8 / Ubuntu64(最下面), Tomcat7, Solr4.4, Jdk7

En More : http://wiki.apache.org/solr/SolrTomcat 

1) 在apache官网下载solr4.4的包,解压到本地目录,如E:\apache\solr-4.4.0

2) 找一个目录作为solr的home目录,如D:/WebContainer/apache-solr-home

3) 解压tomcat7,到bin先运行startup.bat,确保tomcat正常运行和访问,关闭tomcat

4) 复制E:\apache\solr-4.4.0\example\solr目录下的所有文件到D:/WebContainer/apache-solr-home

5) 复制E:\apache\solr-4.4.0\dist目录下solr-4.4.0.war包到D:/WebContainer/apache-solr-home,再对solr-4.4.0.war解压solr-4.4.0, 重命名solr-4.4.0为solr.

6) 在tomcat\conf\Catalina\localhost目录下新增solr.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:/WebContainer/apache-solr-home/solr" debug="0" crossContext="true">
    <Environment name="solr/home" type="java.lang.String" value="D:/WebContainer/apache-solr-home" override="true" />
</Context>

7)  把solr-4.4.0\example\lib\ext下的lib包全部复制到tomcat\lib下

8)  启动tomcat,访问http://localhost:8080/solr/

在配置的过程中, 发生一些错误. 

solr - org.apache.solr.common.SolrException: Could not load config for solrconfig.xml

在这里再添加一步, 在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>
-->

 修改为:

<env-entry>
   <env-entry-name>solr/home</env-entry-name>
   <env-entry-value>D:/WebContainer/apache-solr-home/solr</env-entry-value>
   <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

 9)  再重启Tomcat. http://localhost:8080/solr/

在ubuntu下面安装Solr 4.4 请参见比较新的一篇文章:

Install Apache Solr 4.4 on Ubuntu 12.04 with Tomcat 7 and MySql Data Import
by Greg Somers | 30/07/2013

http://gregsomers.com/blog/2013/07/30/install-apache-solr-44-on-ubuntu-1204-with-tomcat-7-and-mysql-data-import

附加说明:在我安装后,出现了异常信息:

ERROR - 2013-09-04 14:19:20.693; org.apache.solr.common.SolrException; null:org.apache.solr.common.SolrException: SolrCore 'collection1' is not available due to init failure: Could not load config for solrconfig.xml
	at org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:860)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:251)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:158)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:724)
Caused by: org.apache.solr.common.SolrException: Could not load config for solrconfig.xml
	at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:592)
	at org.apache.solr.core.CoreContainer.create(CoreContainer.java:657)
	at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:364)
	at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:356)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	... 3 more
Caused by: java.io.IOException: Can't find resource 'solrconfig.xml' in classpath or '/home/web/solr-env/collection1/conf/', cwd=/home/web/tomcat-7.0.42/bin
	at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:322)
	at org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:287)
	at org.apache.solr.core.Config.<init>(Config.java:116)
	at org.apache.solr.core.Config.<init>(Config.java:86)
	at org.apache.solr.core.SolrConfig.<init>(SolrConfig.java:120)
	at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:589)
	... 11 more
 发现找不到solrconfig.xml文件 拷贝solr-4.4.0/example/solr下的所有文件至/home/web/solr-env/ 下面。重启Tomcat解决问题。
Instance

    Start
        8 minutes ago

    Host
        Eagle-Ubuntu64

    CWD
        /home/web

    Instance
        /home/web/solr-env/collection1

    Data
        /home/web/solr-env/collection1/data

    Index
        /home/web/solr-env/collection1/data/index

 

猜你喜欢

转载自greatwqs.iteye.com/blog/1933482