Solr als Dienst unter Linux ausführen
Lassen Sie uns Solr als Dienst unter Linux installieren. Ich verwende Ubuntu 11.04 Laden Sie zunächst die neueste Version von…
Lassen Sie uns Solr als Dienst unter Linux installieren. Ich verwende Ubuntu 11.04
Laden Sie zunächst die neueste Version von Solr herunter (3.3 zum Zeitpunkt dieses Schreibens): http://www.apache.org/dyn/closer.cgi/lucene/solr/
Entpacken Sie die komprimierte zip- oder tgz-Datei an dem Ort, an dem Sie Solr haben möchten.
Derzeit verwende ich gerne runit, um Linux-Dienste auszuführen. http://smarden.org/runit/
Installieren Sie runit mit: sudo apt-get install runit
Erstellen Sie ein neues Dienstverzeichnis.
Erstellen Sie ein neues Shell-Skript namens run im neuen Verzeichnis /etc/sv/solr. Um in diesen Verzeichnissen arbeiten zu können, benötigen Sie Root-Rechte, verwenden Sie also sudo. In diesem Fall möchte ich Solr unter dem Benutzer ‚mark‘ ausführen.
Machen Sie das Skript run ausführbar.
Informieren Sie runit über den neuen Dienst.
Jetzt sollte Solr betriebsbereit sein. Wenn er stirbt oder Sie ihn beenden, wird er automatisch neu gestartet. Wenn der Server neu gestartet wird, wird Solr beim Starten gestartet.
So stoppen Sie den Dienst: sudo sv stop solr
So starten Sie den Dienst: sudo sv start solr
Großartig.
Protokollieren
Standardmäßig protokolliert Solr in STD ERROR. Wahrscheinlich möchten Sie eine Protokollkonfigurationsdatei hinzufügen, um die beste Kontrolle darüber zu haben, wie Solr protokolliert – siehe http://wiki.apache.org/solr/LoggingInDefaultJettySetup. Um jedoch faul zu sein (und vielleicht sicher), stellen wir sicher, dass STD OUT und STD ERR für uns von runit protokolliert werden.
Diese Methode protokolliert nur STD OUT. Bearbeiten wir also zunächst unser Solr-Ausführungsskript, um STD ERR auf STD OUT umzuleiten
Erstellen Sie nun ein neues Verzeichnis namens log im Verzeichnis /etc/sv/solr service. Darin erstellen Sie ein weiteres Skript namens run. Dieses Skript startet den Protokolldienst, führt ihn unter dem Benutzer mark aus und legt die Protokolldateien in dem soeben erstellten Verzeichnis log ab (wir verwenden . für das aktuelle Arbeitsverzeichnis).
Da wir als mark laufen, ändern Sie den Besitzer des Log-Verzeichnisses auf mark, damit die Log-Dateien erstellt werden können: sudo chown mark log
Machen Sie nun das neue Skript ausführbar.
Wenn runit das nächste Mal startet, werden die Solr-Protokolle in der Datei /etc/sv/solr/log/current gespeichert und automatisch für Sie aufgerollt.