web-dev-qa-db-ja.com

TomcatでSolr4をローカルで実行する方法は?

自宅のPC(Tomcat 7)でSolr 4.3をセットアップしようとしましたが、実行されません。 Tomcatをセットアップし、TomcatのTomcat Web AppsManager画面に解凍して表示されるsolr.warファイルをデプロイしましたが、実行されておらず、スタートボタンをクリックしても何も実行されません(すでに実行されているはずです)。そもそも)。

これがTomcatのsolr.xmlコンテキストファイルで、solr.warファイルへのパスとsolrコアの場所(デフォルトのCollection1)も示しています。

<Context path="/solr" docBase="C:/LocalApps/Tomcat/Apache-Tomcat-7.0.40/webapps/solr.war" debug="0" crossContext="true">
<Environment name="solr/home" type="Java.lang.String" value="C:/LocalApps/Solr/solr-4.3.0/example/solr/" override="true"/>
</Context>

これはTomcatのエラーログです:

INFO: Starting Servlet Engine: Apache Tomcat/7.0.40
Jun 09, 2013 11:04:07 PM org.Apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor C:\LocalApps\Tomcat\Apache-Tomcat-7.0.40\conf\Catalina\localhost\solr.xml
Jun 09, 2013 11:04:07 PM org.Apache.catalina.startup.HostConfig deployDescriptor
WARNING: A docBase C:\LocalApps\Tomcat\Apache-Tomcat-7.0.40\webapps\solr.war inside the Host appBase has been specified, and will be ignored
Jun 09, 2013 11:04:07 PM org.Apache.catalina.startup.SetContextPropertiesRule begin
WARNING: [SetContextPropertiesRule]{Context} Setting property 'debug' to '0' did not find a matching property.
Jun 09, 2013 11:04:09 PM org.Apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
Jun 09, 2013 11:04:09 PM org.Apache.catalina.core.StandardContext startInternal
SEVERE: Context [/solr] startup failed due to previous errors
15
jsnoob

説明されているように、ロギング用のjarをインストールする必要があります ここ

上記のすべてのファイルをTomcat/libディレクトリにコピーするだけです。そして、Tomcatを再起動します。

  1. Jarファイルをsolr/example/lib/extからコンテナのメインlibディレクトリにコピーします。これらのjarファイルはSLF4Jlog4jを設定します。このlibディレクトリが非常に可変である正確な場所。 OSベンダーから入手可能なTomcatパッケージを使用するDebianまたはUbuntuサーバーの場合、これは/usr/share/Tomcat6/libまたは/usr/share/Tomcat7/libである可能性があります。
  2. ロギング設定をsolr/example/resources/log4j.propertiesからclasspath上の場所にコピーします。通常、上記のjarファイルと同じ場所を使用できます。希望するログの宛先の構成ファイルを編集します。
  3. オプションで、log4j.propertiesをクラスパスに配置しなかった場合は、Java option -Dlog4j.configuration=file:///path/to/log4j.propertiesを設定します。
26
Okke Klein
  1. 最新のsolr-4.x.Zipファイルをダウンロードします。
  2. C:\ solrsetupのような場所にZipファイルを抽出します。
  3. Apache Tomcat(バージョン5より大きい)およびJava 6以上をインストールする必要があります。「C:\ solrsetup\solr-4.3.0\dist」からsolr-4.x.warファイルをコピーします。 」を「ApacheTomcat」webappsフォルダーに変更します。おそらくC:\ Program Files\Apache ...\Tomcat ...\webapps \にあり、コピーしたwarファイルの名前をsolrTest.StartTomcatなどの意味のある名前に変更します。すでに実行されている場合はTomcatを再起動します。 .warファイル(solrTest)と同じ名前の新しいフォルダーが作成されます。
  4. Tomcatを停止します。 binフォルダーとcollection1フォルダーをC:\ solr setup\solr-4.x\example\solrからC:\ Program Files\Apache ...\Tomcat ...\webapps\solrTestにコピーします。
  5. すべてのjarをC:\ solr setup\solr-4.x\example\lib\extからC:\ Program Files\Apache ...\Tomcat ...\libにコピーします。 SOLR 4.xは、これらのjarをロギングに使用します。
  6. C:\ Program Files\Apache ...\Tomcat ...\conf\Catalina\localhost \に、warファイル(solrTest.xml)と同じ名前のxmlファイルを以下の内容で作成します。 Tomcatは、このxmlファイルを検索して、アプリケーションを開始します。
  7. C:\ Program Files\Apache ...\Tomcat ...\webapps\solrTest\collection1\conf\schema.xmlを更新し、必須フィールドを追加して更新します。
  8. 不要な場合はコピーフィールドを削除します。コピーフィールドの使用法は、同じファイルで利用できます。
  9. C:\ Program Files\Apache ...\Tomcat ...\webapps\solrTest\collection1\conf\solrconfig.xmlを更新します。 $ {solr.data.dir:C:/ Indexes/solrTest Index /}のようなタグの物理インデックスパスを更新します。コメントが付けられる場合は、C:\ Program Files\Apache ...\Tomcat ...\webapps\solrTest\collection1\data \ディレクトリがデフォルトで使用されます。 DataDirタグはファイルで利用できます。自分で追加する必要はありません。
  10. レプリケーションエントリを更新して、レプリケーションリクエストハンドラにマスターまたはスレーブを設定します。
  11. 「... localhost:portNumber/solrTest」にアクセスしてみてください。エラーが発生しない場合は、SOLR4.xが正常に構成されています。
5
user2715709

TomcatでSolrを使い始める最も簡単な方法は、HDS(Heliosearch Distribution for Solr)を使用することです。 Tomcat/Solrディストリビューション

これはApacheSolrのスーパーセットであり、事前構成された(スレッド、ロギング、接続設定、メッセージサイズなど)TomcatベースのSolrサーバーである追加の「サーバー」ディレクトリが含まれています。

その他の実装上の注意:

  • 開始スクリプトはどこからでも実行でき、コマンドラインでJVM引数を渡すことができます(jettyと同じように、使いやすくなります)
  • 開始スクリプトは既知のJVMバグを回避します
  • 開始スクリプトを使用すると、コマンドラインからポートを設定でき、httpポートに基づいてデフォルトの停止ポートを設定できるため、1つのボックスで複数のサーバーを簡単に実行できます)
  • solr zookeeperツールの開始スクリプトであるzkcliは、必要に応じてWARを自動分解します
  • 「server」ディレクトリはクリーンに保たれていますが、Tomcatのすべてを「server/tc」ディレクトリの下に詰め込んでいます

始めること:

$ cd server
$ bin/startup.sh

別のポート(例:7574)で開始するには:

$ cd server
$ bin/startup.sh -Dhttp.port=7574

閉鎖すること:

$ cd server
$ bin/shutdown.sh -Dhttp.port=7574

スクリプトは-Djetty.port = 7574も受け入れて、jettyを使用した開始例からのカットアンドペーストを簡単にします。 「example」ディレクトリもまだそこにあるので、必要に応じて桟橋ベースのサーバーを実行できます。

3
Yonik

私は同じことをするのにいくつかの問題を抱えていました、公式のドキュメントはこれについて本当に役に立ちません。私はそれについて ブログ投稿 を書きました:

  1. Solrインストール

    ディスクのどこかに、最新バージョンのSolrをダウンロードして解凍します。

    cd /tmp
    wget "http://mirrors.ircam.fr/pub/Apache/lucene/solr/4.6.0/solr-4.6.0.tgz"
    cd /opt
    Sudo tar zxvf /tmp/solr-4.6.0.tgz
    Sudo chown -R Tomcat:tomcat solr-4.6.0
    

    ここでは/ optを使用していますが、Tomcatがアクセスできる限り、どこにでもインストールできます。念のため、Tomcatを所有者にして、Solrフォルダーでの読み取りと書き込みができるようにします。

  2. 展開

    それでは、SolrWebアプリケーションをTomcatにデプロイしましょう。そのために、Solrのデプロイと構成に使用するXMLコンテキスト構成ファイルを利用します。

    Tomcatインストールフォルダーで、conf/Catalina/localhostに新しいXMLコンテキスト構成ファイルを作成します。ファイルのベース名は、Solrコンテキストパスを定義します。

    最初に$ {solr.home}を定義する必要があります。ここでは、ディストリビューションで提供されているサンプルのSolr構成を使用します。 /opt/solr-4.6.1/example/solrにあります。

    起動エラーを回避するには、/ opt/solr-4.6.1/example/lib/extにあるwebappクラスパスにいくつかのjarを追加する必要があります。ただし、TomcatのlibフォルダーをSolr jarで汚染したくないので、仮想ローダーを宣言するだけです。

    また、Log4Jを適切に構成する必要があります。ここでは、Solrクラスパスにフォルダーを追加することにより、/ opt/solr-4.6.1/example/resourcesのSolrディストリビューションで提供されるLog4J構成ファイルを使用します。

    <?xml version="1.0" encoding="UTF-8"?>
    <Context docBase="/opt/solr-4.6.1/dist/solr-4.6.1.war">
      <Environment
        name="solr/home"
        type="Java.lang.String"
        value="/opt/solr-4.6.1/example/solr"
        override="true" />
      <Loader
        className="org.Apache.catalina.loader.VirtualWebappLoader"
        virtualClasspath="/opt/solr-4.6.1/example/lib/ext/*.jar;/opt/solr-4.6.1/example/resources/" />
    </Context>
    

    ファイルを保存し、Tomcatがそれを読み取って戦争を展開するのを待ちます。

それでおしまい! Solrは稼働しています。

2
Eric Citaire

Tomcatによって作成されたlocalhost_yyyy_mm_dd.logログを確認してください。通常、この問題の理由が表示されます。フルスタックトレースがコンソールに表示されない場合があります。

2
Learner

XAMPPがインストールされているWindowsの場合、 Tony at Drupal によって提供される指示は次のとおりです。

予選

  • 素敵なお茶をどうぞ
  • Windows Java環境がインストールされていることを確認してください。現時点ではバージョン6までです。
  • XAMPPを使用してApacheとMySQLおよび最新バージョンのPHP5を実行していると仮定します

Tomcatのインストール

  1. Tomcatを使用してXAMPPをインストールした場合は、サービストレイに移動し、XAMPPサービスを停止して、XAMPPインストール内からTomcalディレクトリを削除します。その後、XAMPPを再起動します。その理由は、WindowsのサービストレイからTomcatを簡単に構成できるようにするためです。 TomcatがXAMPPで実行されている場合、サービストレイには表示されません。
  2. Tomcatをインストールする前に、ファイルc:\ windows\Microsoft.net\framework\v1.1.4322\msvcr71.dllをc:\ windows\system32\msvcr71.dllにコピーします。これを行わないと、Tomcatは起動しません。アップ。
  3. 次に、Tomcat6.xをインストールします。実行を開始します。 Tomcatが機能している場合は、 http:// localhost:808 に表示されるページが表示されます。
  4. Tomcatのファイル構造を覗いてみてください。それは非常に簡単です。 webappsというディレクトリに注意してください。
  5. さあ、素敵なお茶をどうぞ。

Linuxを使用している場合は、以下を確認してください。 Apache Solr 4.6.0のインストール

0
kenorb