2010-11-02 59 views
1

嘿,我有2个Solr服务器设置,除了4行XML使它成为主设备之外,主设备与从设备相同。Solr从属复制服务器将无法启动

奴隶然而错误,当您尝试启动它,我有以下的建立,使之成为奴隶:

<requestHandler name="/replication" class="solr.ReplicationHandler" > 
<lst name="slave"> 
<str name="masterUrl">http://10.1.2.196:8080/solr/replication</str> 
<str name="pollInterval">00:00:20</str> 
</lst> 
</requestHandler> 

当我注释掉/复制它工作正常,整个请求处理,但Solr会抛出错误并拒绝启动。

错误转储是在这里:

严重:无法启动SOLR。检查solr/home属性 java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager。(MultiThreadedHttpConnectionManager.java:70) at org.apache.solr.handler。 SnapPuller.createHttpClient(SnapPuller.java:110) at org.apache.solr.handler.SnapPuller。(SnapPuller.java:138) at org.apache.solr.handler.ReplicationHandler.inform(ReplicationHandler.java:775) at org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:486) at org.apache.solr.core.SolrCore。(SolrCore.java:589) at org.apache.solr.core.CoreContainer $ Initializer.initialize(CoreContainer.java:137) at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispat chFilter.java:83) 在org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295) 在org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422) 在有机apache.catalina.core.ApplicationFilterConfig。(ApplicationFilterConfig.java:115) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838) at org.apache.catalina.core.StandardContext.start(StandardContext .java:4488) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache .catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apach e.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:498) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321) at org。 apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start( StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.co (StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java: 710) 在org.apache.catalina.startup.Catalina.start(Catalina.java:593) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.catalina.startup.Bootstrap.start(Bootstrap 。java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 引起:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory at org.apache.catalina .loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329) ... 35更多 03/11/2010 2:11:12 AM org.apache.solr.core.QuerySenderListener newSearcher INFO:QuerySenderListener向Searcher发送请求@ 207ff5b6主要 03/11/2010 2:11:12 AM org.apache.solr.common.SolrException日志 SEVERE:java.lang .NoClassDefFoundError:org/apache/commons/logging/LogFactory at org.apache.commons.httpclient.MultiThreade dHttpConnectionManager。(MultiThreadedHttpConnectionManager.java:70) 在org.apache.solr.handler.SnapPuller.createHttpClient(SnapPuller.java:110) 在org.apache.solr.handler.SnapPuller。(SnapPuller.java:138) 在org.apache.solr.handler.ReplicationHandler.inform(ReplicationHandler.java:775) at org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:486) at org.apache.solr.core.SolrCore。 (SolrCore.java:589) 在org.apache.solr.core.CoreContainer $ Initializer.initialize(CoreContainer.java:137) 在org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83) 在org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295) at org.apache.catalina.co re.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422) 在org.apache.catalina.core.ApplicationFilterConfig。(ApplicationFilterConfig.java:115) 在org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838 ) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core .ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637 ) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) at org.apache.catalina.startup。 HostConfig.lifecycleEvent(HostConfig.java:321) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core。 StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache。 catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:593) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun .reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:616) 在有机.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 引起:java.lang.ClassNotFoundException:org.apache .commons.logging.LogFactory at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader。的java:1484) 在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329) ... 35更

这也是值得注意的是,两个服务器比在那些线相同的一种配置。

有没有人遇到过这个?

服务器本身使用解决了一个自定义DATADIR

<dataDir>/var/lib/solr/data</dataDir> ... 35 more 
+0

它说你缺少commons-logging。你检查过吗? – 2010-11-02 15:47:17

回答

0

。 Ubuntu没有将/ usr/share/java添加到Tomcat类路径中。

+0

亵渎在这里不受欢迎。 – meagar 2010-11-02 20:37:55

+0

你应该在邮件列表上回答你的问题;-) – Karussell 2010-11-03 09:33:57

1

这个问题&答案对我非常有帮助。但是,我无法追踪Tomcat所看到的将'/ usr/share/java'添加到CLASSPATH的'正确'方法,所以我通过将commons-logging.jar链接到Solr的lib目录中来解决它。

sudo ln -s /usr/share/java/commons-logging.jar /usr/share/solr/WEB-INF/lib/commons-logging.jar 

我很想知道如何以更优雅的方式做到这一点。任何提示或输入?

+0

我将它添加到/etc/tomcat6/catalina.properties - common.loader = $ {catalina.base}/lib,$ {catalina.base}/lib /的* .jar,$ {}的catalina.home/lib下,$ {}的catalina.home/lib目录/ *。jar复制的/ var/lib中/ tomcat6中/普通/班,在/ var/lib中/ tomcat6中/普通/ *。jar复制/usr/share/java/*.jar – Kura 2011-02-02 09:41:55