为什么不能使用CentOS,plesk 9.2.1和tomcat 5.5来安装solr 1.3.0? [英] Why can't solr 1.3.0 install using CentOS, plesk 9.2.1 and tomcat 5.5?

查看:112
本文介绍了为什么不能使用CentOS,plesk 9.2.1和tomcat 5.5来安装solr 1.3.0?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好的,我只是通过他的托管服务提供商为我的客户端设置专用服务器。他们在那里安装了plesk(版本9.2.1),这个专用服务器的一个注意事项是,如果我在控制面板外面做任何事情(即使用SSH)进行任何任务,他们不保证支持该软件组件。这很好,因为我宁愿使用控制面板来完成它,因为我所要做的就是上传一个war文件来安装servlet。

Ok I just setup a dedicated server for my client through his hosting provider. They have plesk installed on there (version 9.2.1) and one of the caveats of this dedicated server is that if i do anything OUTSIDE of the control panel (i.e. use SSH) for any task they do not guarantee support for that software component. That's fine because I would rather use the control panel to do it anyway since all i have to do is upload a war file to install the servlet.

这是问题所在,在安装了最新版本的solr(1.3.0)后,我在plesk中收到了一个警告图标,它给了我一个模糊的错误,例如应用程序的实际状态与从数据库中检索到的状态不对应。

Here is the issue though, after installing the latest version of solr (1.3.0) I got a warning icon in plesk and it gave me a vague error like "Actual status of the application does not correspond to the status retrieved from the database."

这是日志条目:

Aug 17, 2009 11:16:15 PM org.apache.solr.servlet.SolrDispatchFilter init
INFO: SolrDispatchFilter.init()
Aug 17, 2009 11:16:15 PM org.apache.solr.core.SolrResourceLoader
locateInstanceDir
INFO: Using JNDI solr.home: /usr/share/solr
Aug 17, 2009 11:16:15 PM
org.apache.solr.core.CoreContainer$Initializer initialize
INFO: looking for solr.xml: /usr/share/solr/solr.xml
Aug 17, 2009 11:16:15 PM org.apache.solr.core.SolrResourceLoader <init>
INFO: Solr home set to '/usr/share/solr/'
Aug 17, 2009 11:16:15 PM org.apache.solr.core.SolrResourceLoader
createClassLoader
INFO: Reusing parent classloader
Aug 17, 2009 11:16:15 PM org.apache.solr.servlet.SolrDispatchFilter init
SEVERE: Could not start SOLR. Check solr/home property
java.lang.ExceptionInInitializerError
       at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:117)
       at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:69)
       at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
       at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
       at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
       at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
       at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
       at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
       at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
       at org.apache.catalina.core.StandardService.start(StandardService.java:448)
       at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
       at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at 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:295)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.lang.RuntimeException: XPathFactory#newInstance()
failed to create an XPathFactory for the default object model:
http://java.sun.com/jaxp/xpath/dom with the
XPathFactoryConfigurationException:
javax.xml.xpath.XPathFactoryConfigurationException: No XPathFctory
implementation found for the object model:
http://java.sun.com/jaxp/xpath/dom
       at javax.xml.xpath.XPathFactory.newInstance(Unknown Source)
       at org.apache.solr.core.Config.<clinit>(Config.java:41)
       ... 20 more
Aug 17, 2009 11:16:15 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter SolrRequestFilter
java.lang.NoClassDefFoundError: Could not initialize class
org.apache.solr.core.SolrConfig
       at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:76)
       at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
       at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
       at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
       at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
       at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
       at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
       at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
       at org.apache.catalina.core.StandardService.start(StandardService.java:448)
       at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
       at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at 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:295)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Aug 17, 2009 11:16:15 PM org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Aug 17, 2009 11:16:15 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/solr] startup failed due to previous errors

solr / home目录存在,所以solr为什么抱怨这个?

The solr/home directory exists, so why is solr complaining about this?

推荐答案

好的,这就是问题所在!事实证明,tomcat的某些发行版没有对xalan的引用,这是关于XPathFactory的异常来源。此错误可能会产生误导,因为它将错误记录为solr / home属性NOT BEING SET的问题。事实是,它已被设定。启动solr的问题是9次中的9次是由于没有设置solr / home目录。

Ok here is the problem! It turns out that some distributions of tomcat do not have a reference to xalan, which is where the exception regarding XPathFactory is coming from. This error can be misleading because it logs the error as a problem with the solr/home property NOT BEING SET. The truth is that it WAS being set. 9 times out of 10 a problem starting solr is due to the solr/home directory not being set.

这就是我为自己修复它的方法:我进入了 / usr / share / tomcat5 / shared / lib 目录并创建了xalan-j2.jar文件的符号链接,该文件位于 / usr / share / java 目录。重新启动Tomcat和Solr立即启动!

This is how I fixed it for myself: I went into the /usr/share/tomcat5/shared/lib directory and created a symlink to the xalan-j2.jar file which was located in /usr/share/java directory. Restarted Tomcat and Solr booted right up!

其他一些提示:
编辑 solr.war中的web.xml文件您正在上传的文件,不加评分,进行更改,然后重新调整。将目录设置为 / usr / share / solr 。这样,如果日志没有显示它使用该目录作为solr / home,那么就会出现问题。此外,请确保solr / home看起来像这样:

Some other tips: Edit the web.xml file in the solr.war file you are uploading un jaring it, making your change and then rejaring it. Set the directory to something like /usr/share/solr. That way, if the logs aren't showing that its using that directory as solr/home then there is something wrong. Also, make sure that solr/home looks something like this:

/usr/share/solr/
/usr/share/solr/bin
/usr/share/solr/bin/rsyncd-stop
/usr/share/solr/bin/abo
/usr/share/solr/bin/scripts-util
/usr/share/solr/bin/snappuller-disable
/usr/share/solr/bin/backupcleaner
/usr/share/solr/bin/snapcleaner
/usr/share/solr/bin/rsyncd-disable
/usr/share/solr/bin/snapinstaller
/usr/share/solr/bin/commit
/usr/share/solr/bin/snappuller-enable
/usr/share/solr/bin/snappuller
/usr/share/solr/bin/backup
/usr/share/solr/bin/rsyncd-start
/usr/share/solr/bin/abc
/usr/share/solr/bin/rsyncd-enable
/usr/share/solr/bin/optimize
/usr/share/solr/bin/snapshooter
/usr/share/solr/bin/readercycle
/usr/share/solr/conf
/usr/share/solr/conf/schema.xml
/usr/share/solr/conf/solrconfig.xml
/usr/share/solr/conf/synonyms.txt
/usr/share/solr/conf/xslt
/usr/share/solr/conf/xslt/example_atom.xsl
/usr/share/solr/conf/xslt/luke.xsl
/usr/share/solr/conf/xslt/example_rss.xsl
/usr/share/solr/conf/xslt/example.xsl
/usr/share/solr/conf/elevate.xml
/usr/share/solr/conf/scripts.conf
/usr/share/solr/conf/protwords.txt
/usr/share/solr/conf/spellings.txt
/usr/share/solr/conf/admin-extra.html
/usr/share/solr/conf/stopwords.txt
/usr/share/solr/README.txt

与用户:组权限为tomcat:tomcat。如果solr正常启动,将创建数据目录。

with user:group permissions to be tomcat:tomcat. the data directory will be created if solr starts up properly.

希望这可以节省大量时间。

Hopefully this will save someone a ton of time.

这篇关于为什么不能使用CentOS,plesk 9.2.1和tomcat 5.5来安装solr 1.3.0?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆