【发布时间】:2013-11-12 03:27:36
【问题描述】:
我已将 solr-4.5.0 配置为与 tomcat7 和 zookeeper 3.3.5 一起使用(来自 debian 包)
根据我在Catalina/localhost/solr.xml 文件之后创建的许多教程
<Context allowlinking="true" crosscontext="true" debug="1" docBase="/var/lib/tomcat7/webapps/solr.war" priviledged="true">
<Environment name="solr/home" override="true" type="java.lang.String" value="/opt/solr/webapps/solr1" />
</Context>
我已经在 2 台机器上配置了 solr 以在云中工作(使用 zookeeper 来保持配置)。
在两台机器上,启动tomcat7时,我在catalina.out看到以下错误:
11693 [localhost-startStop-1] INFO org.apache.solr.core.SolrResourceLoader – No /solr/home in JNDI
....
12529 [coreLoadExecutor-3-thread-1] ERROR org.apache.solr.core.CoreContainer – Failed to load file /var/lib/tomcat7/solr/collection1/solrconfig.xml
12532 [coreLoadExecutor-3-thread-1] ERROR org.apache.solr.core.CoreContainer – Unable to create core: collection1
org.apache.solr.common.SolrException: Could not load config file /var/lib/tomcat7/solr/collection1/solrconfig.xml
有趣的是,在该文件的开头我看到:
64 [localhost-startStop-1] INFO org.apache.solr.core.SolrResourceLoader – Using JNDI solr.home: /opt/solr/webapps/solr1
71 [localhost-startStop-1] INFO org.apache.solr.core.SolrResourceLoader – new SolrResourceLoader for directory: '/opt/solr/webapps/solr1/'
当然我想在 JNDI 中配置 solr/home,而不是在 solr.war 中。 知道可能出了什么问题吗?
附: 这个问题不是这样的问题的重复: How to set solr/home in linux OS? 和这个: deploy war in Tomcat 不同之处在于我正在定义 solr/home 但它似乎不起作用。
【问题讨论】:
-
同一个tomcat上是否有两个不同的solr实例? (例如 webapps/solr.war 和 webapps/solr1/
-
另外,你能在
71 [localhost-startStop-1] INFO org.apache.solr.core.SolrResourceLoader – new SolrResourceLoader for directory: '/opt/solr/webapps/solr1/'之后显示下几行吗? -
还有一件事——根据tomcat 7.0 documentation一些
Context参数不应该完全小写(例如allowlinking => allowLinking, crosscontext => crossContext),特权有一个错字(应该是特权),并且没有调试这样的选项。 -
@rchukh: That 是问题所在。我在 /var/lib/tomcat7/webaps/solr.backup 中创建了一个备份目录,并且没有引发 solr/home,同时:“部署 Web 应用程序目录 /var/lib/tomcat7/webapps/solr.backup”
-
#rchuk:您可能想写此评论作为获得赏金的答案。
标签: solr tomcat7 apache-zookeeper solrcloud catalina