3

わかりました、ホスティング プロバイダーを通じて、クライアント専用のサーバーをセットアップしました。そこにはpleskがインストールされており(バージョン9.2.1)、この専用サーバーの警告の1つは、コントロールパネルの外で何かを行う(つまり、SSHを使用する)場合、そのソフトウェアコンポーネントのサポートを保証しないことです。サーブレットをインストールするためにwarファイルをアップロードするだけなので、とにかくコントロールパネルを使用したいので、それで問題ありません。

ここに問題がありますが、最新バージョンの solr (1.3.0) をインストールした後、plesk に警告アイコンが表示され、「アプリケーションの実際のステータスがデータベースから取得したステータスと一致しません。 "

ログエントリは次のとおりです。

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 がこれについて不平を言うのはなぜですか?

4

2 に答える 2

5

さて、ここで問題です!Tomcat の一部のディストリビューションには、XPathFactory に関する例外が発生する xalan への参照がないことが判明しました。このエラーは、solr/home プロパティが設定されていないという問題としてエラーを記録するため、誤解を招く可能性があります。真実は、それが設定されていたということです。10回中9回のsolrの起動の問題は、solr/homeディレクトリが設定されていないことが原因です。

これが私が自分で修正した方法です。ディレクトリ/usr/share/tomcat5/shared/libに移動し、ディレクトリにある xalan-j2.jar ファイルへのシンボリックリンクを作成しました/usr/share/java。Tomcat を再起動すると、Solr がすぐに起動しました。

その他のヒント:solr.warアップロードするファイル内の web.xml ファイルを編集して unjar し、変更を加えてから rejar します。ディレクトリを次のように設定し/usr/share/solrます。そのようにして、ログがそのディレクトリをsolr/homeとして使用していることを示していない場合は、何か問題があります. また、solr/home が次のようになっていることを確認してください。

/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

user:group パーミッションを tomcat:tomcat にします。solr が正常に起動すると、データ ディレクトリが作成されます。

うまくいけば、これで誰かが時間を大幅に節約できます。

于 2009-08-30T12:11:09.613 に答える
-1

「solr/homeプロパティ」は「solr/home」という名前のディレクトリを意味するのではなく、ディレクトリのパスを含む環境変数またはシステムプロパティを意味すると確信しています。
Google で簡単に検索すると、このページが見つかりました。このページでは、プロパティが Java システム プロパティとして設定されています: "-Dsolr.solr.home=/my/custom/solr/home/dir/"。

于 2009-08-30T12:05:53.023 に答える