So installierst du Apache Solr auf AlmaLinux 9

Apache Solr oder Solr ist eine unternehmenstaugliche Suchplattform, die auf der Apache Lucene-Bibliothek basiert. SOlr steht für Searching On Lucene with Replication und ist eine freie, in Java geschriebene Open-Source-Suchplattform. Solr ist eine der beliebtesten Suchplattformen in der Branche und bietet hohe Verfügbarkeit durch Replikation und automatische Ausfallsicherung und Wiederherstellung.

Solr ist eine hoch skalierbare und zuverlässige Suchplattform für die Entwicklung von Unternehmensanwendungen und bietet eine hohe Leistung. Sie unterstützt verteilte Indizierung und bietet Fehlertoleranz. Einige große Internetunternehmen wie Adobe, Netflix, Instagram, Magento und Bloomberg nutzen Apache Solr als Suchmaschinenplattform für ihre Produkte.

In diesem Lernprogramm lernst du, wie du Apache Solr auf einem AlmaLinux 9 Server installierst. Außerdem wirst du MaxHeapMemory für Solr einrichten, Limits setzen und die grundlegende Authentifizierung für Solr einrichten.

Voraussetzungen

Um diesen Leitfaden durchzuarbeiten, musst du folgende Voraussetzungen erfüllen:

  • Einen AlmaLinux 9 Server mit mindestens 2/4 GB Speicher. In diesem Beispiel wird ein AlmaLinux mit dem Hostnamen almalinux9 und einer Speicherkapazität von 8 GB verwendet.
  • Ein Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten.

Installation von Java OpenJDK 11

Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste Version von Apache Solr v9.x und benötigt die Java JRE (Java Runtime Environment) mindestens v11 oder höher. In diesem ersten Schritt wirst du das Java OpenJDK 11 über das AlmaLinux Appstream Repository installieren.

Gib den folgenden dnf-Befehl ein, um Java OpenJDK 11 auf deinem AlmaLinux Server zu installieren. Wenn du dazu aufgefordert wirst, gib zur Bestätigung y ein und drücke ENTER.

sudo dnf install java-11-openjdk java-11-openjdk-devel

java openjdk installieren

Nachdem Java OpenJDK installiert ist, führe den folgenden Befehl aus, um die Java-Version zu überprüfen und sicherzustellen, dass die Installation erfolgreich war.

java --version

Die folgende Ausgabe bestätigt, dass Java OpenJDK 11 installiert ist.

Java-Version prüfen

Installation von Apache Solr

Nachdem du Java OpenJDK 11 installiert hast, startest du die Installation von Apache Solr. Es gibt mehrere Binärpakete von Apache Solr für verschiedene Betriebssysteme, darunter Linux, macOS und Windows.

In diesem Abschnitt wirst du Apache Solr über das offizielle Binärpaket auf deinem AlmaLinux-Server installieren.

Bevor du Apache Solr herunterlädst, installiere die folgenden Pakete auf deinem AlmaLinux Server mit dem unten stehenden Befehl.

sudo dnf install curl lsof chkconfig -y

Als nächstes lädst du das Binärpaket von Apache Solr 9.2.1 mit dem folgenden curl-Befehl herunter.

curl -qO https://downloads.apache.org/solr/solr/9.2.1/solr-9.2.1.tgz

Führe den folgenden Befehl aus, um das Installationsskript aus dem Apache Solr-Binärpaket„solr-9.2.1.tgz“ zu entpacken.

tar xzf solr-9.2.1.tgz solr-9.2.1/bin/install_solr_service.sh --strip-components=2

Du solltest das Apache Solr-Installationsskript „install_solr_service.sh“ in deinem aktuellen Verzeichnis sehen.

Bild

Als Nächstes installierst du Apache Solr, indem du das Installer-Skript „install_solr_service.sh“ wie folgt ausführst:

sudo bash ./install_solr_service.sh solr-9.2.1.tgz

Wenn die Installation erfolgreich war, solltest du eine ähnliche Ausgabe erhalten wie diese:

Solr installieren

Der Apache Solr läuft auf dem Standard-Port 8983 mit dem SOLR_HOME-Verzeichnis /var/solr/data. Und im Moment läuft er unter der PID (Prozess-ID) 12084.

Führe nun den folgenden Befehl aus, um den aktuellen Apache Solr-Prozess mit der PID 12084 zu stoppen.

kill -9 12084

Anschließend kannst du den Apache Solr-Dienst mit dem folgenden Befehl starten.

sudo service solr start

Solr-Dienst starten

Überprüfe abschließend den Apache Solr-Dienst mit dem folgenden Befehl.

sudo service solr status

Wenn Apache Solr läuft, wird eine ähnliche Ausgabe in deinem Terminal angezeigt.

Solr verifizieren

Optimieren der Apache Solr-Installation

In diesem Abschnitt richtest du ein, wie Apache Solr laufen soll, und optimierst es. In diesem Beispiel wird der Apache Solr mit einem maximalen Heap-Speicher von 4 GB und einer internen IP-Adresse von„192.168.10.15“ ausgeführt.

Erhöhe zunächst die Werte für shmmax und nr_hugepages, indem du den folgenden Befehl ausführst.

sudo echo 4294967295 > /proc/sys/kernel/shmmax
sudo echo 1536 > /proc/sys/vm/nr_hugepages

Öffne die Datei „/etc/default/solr.in.sh“ mit dem Editor nano.

sudo nano /etc/default/solr.in.sh

Entferne die Auskommentierung des Parameters SOLAR_HEAP und ändere den Wert mit dem maximalen Heap-Speicher, den du verwenden möchtest. Achte darauf, dass du den Wert an den Gesamtspeicher deines Servers anpasst.

SOLR_HEAP="4g"

Entferne die Kommentare zu den Parametern SOLR_JETTY_HOST und SOLR_HOST und ändere den Wert in deine interne IP-Adresse. In diesem Beispiel wird der Apache Solr auf „192.168.10.15“ laufen.

SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"

Speichere die Änderungen und schließe den Editor, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um den Apache Solr-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo service solr restart

Solr konfigurieren

Zum Schluss führst du den folgenden Befehl aus, um den Status von Apache Solr zu überprüfen. Wenn die Konfiguration von Apache Solr erfolgreich war, solltest du sehen, dass der maximale Heap-Speicher geändert wurde. In diesem Beispiel wurde er auf 4 GB geändert.

sudo service solr status

solr ulimit einrichten

Ulimits und Firewalld einrichten

Eine weitere wichtige Systemkonfiguration für den Betrieb von Apache Solr ist die Konfiguration der maximalen Prozesse und der maximal geöffneten Dateien, die mindestens 65.000 betragen müssen. Um dies zu erreichen, musst du die Datei„/etc/security/limits.conf“ ändern. Danach musst du auch Firewalld einrichten und Port 8983 für Apache Solr öffnen.

Öffne die Datei„/etc/security/limits.conf“ mit dem nano-Editor und gib folgenden Befehl ein.

sudo nano /etc/security/limits.conf

Füge die folgende Konfiguration an das Ende der Zeile an.

solr   soft   nofile   65000
solr   hard   nofile   65000
solr   soft   nproc    65000
solr   hard   nproc    65000

Speichere die Datei und schließe den Editor.

Führe nun den folgenden Befehl aus, um die maximalen Prozesse und offenen Dateien auf deinem System zu überprüfen. Wenn du erfolgreich warst, solltest du bei beiden Einstellungen einen Wert von 65.000 sehen.

sudo -H -u solr bash -c "ulimit -aH"

einrichten ulimit

Führe nun den folgenden Befehl aus, um sicherzustellen, dass die ulimit-Konfiguration erfolgreich ist.

sudo service solr restart

Die ulimit-Warnmeldungen verschwinden, was bestätigt, dass die Konfiguration erfolgreich war.

ulimit solr prüfen

Als Nächstes öffnest du den Port 8983 auf der Firewalld mit dem folgenden Befehl.

sudo firewall-cmd --add-port=8983/tcp --permanent

Lade dann die Firewalld neu, um die Änderungen zu übernehmen und die Liste der Firewalld-Regeln zu überprüfen.

sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Wenn die Firewalld-Konfiguration erfolgreich war, solltest du Port 8983 in der Liste der Firewalld-Regeln sehen.

firewalld einrichten

Starte deinen Webbrowser und navigiere zu deiner Server-IP-Adresse, gefolgt von Port 8983 (d.h. http://192. 168.10.15:8983/). Du solltest das Apache Solr Dashboard wie das folgende sehen:

apache solr dashboard

Apache Solr mit Basic Authentication absichern

Standardmäßig wird der Apache Solr ohne Authentifizierung installiert. Um ihn zu sichern, kannst du verschiedene Methoden verwenden, z. B. Basisauthentifizierung, Kerberos-Authentifizierung, JWT-Authentifizierung und regelbasierte Authentifizierung. In diesem Beispiel wirst du den Apache Solr mit der Basisauthentifizierung sichern.

Erstelle eine neue Datei security.json unter dem Apache Solr Datenverzeichnis /var/solr/data/ mit dem unten stehenden nano Editor.

sudo nano /var/solr/data/security.json

Füge die folgende Konfiguration ein, um einen neuen Benutzer solr mit dem Passwort SolrRocks anzulegen.

{
  "authentication":{
    "blockUnknown": true,
    "class":"solr.BasicAuthPlugin",
    "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
    "realm":"My Solr users",
    "forwardCredentials": false
  },
  "authorization":{
    "class":"solr.RuleBasedAuthorizationPlugin",
    "permissions":[{"name":"all", "role":"admin"}],
    "user-role":{"solr":"admin"}
  }
}

Speichere und beende den Editor, wenn du fertig bist.

Führe anschließend den folgenden Befehl aus, um Apache Solr neu zu starten und die Änderungen zu übernehmen.

sudo service solr restart

Der Apache Solr ist jetzt mit aktivierter Basisauthentifizierung betriebsbereit.

Gehe nun zurück zum Webbrowser und aktualisiere das Apache Solr Administrations-Dashboard. Oder du rufst einfach http://192.168.10.15:8983/ auf. Wenn du erfolgreich bist, solltest du die Apache Solr Login-Seite wie folgt erhalten:

Apache Solr Anmeldung

Gib den Apache Solr-Benutzer solr und das Passwort SolrRocks ein und klicke dann auf Login. Wenn die Authentifizierung erfolgreich war, solltest du das Apache Solr Dashboard erhalten.

Wenn du auf das Menü Sicherheit klickst, wirst du feststellen, dass Apache Solr mit aktiviertem basic_auth Plugin läuft.

Solr-Authentifizierung

Ersten Index erstellen

Wenn du alles konfiguriert hast, kannst du einen ersten Solr-Index erstellen.

Öffne zunächst die Datei /etc/default/solr.in.sh mit dem folgenden Befehl des nano-Editors.

sudo nano /etc/default/solr.in.sh

Entferne die Kommentare zu den Parametern SOLR_AUTH_TYPE und SOLR_AUTHENTICATION_OPTS.

SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

Speichere und beende die Datei, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um Apache Solr neu zu starten und die Änderungen zu übernehmen.

sudo service restart solr

Als Nächstes erstellst du mit folgendem Befehl einen neuen Solr-Index namens test_core.

su - solr -c "/opt/solr/bin/solr create -c test1_core -n Test1Core"

Sobald er erstellt ist, solltest du die Ausgabe„Created new core test1_core“ erhalten.

Kern-Solr erstellen

Zurück im Apache Webadministrations-Dashboard klickst du auf das Menü Core Admin und der test1_core sollte nun verfügbar sein.

Kern prüfen

Fazit

Herzlichen Glückwunsch! Du hast nun erfolgreich Apache Solr auf dem AlmaLinux 9 Server installiert. Außerdem hast du ulimit konfiguriert, um Apache Solr zu optimieren, und firewalld, um Apache Solr zu sichern. Außerdem hast du die Basisauthentifizierung für Apache Solr aktiviert, das Apache Solr Webadministrations-Dashboard aufgerufen und den ersten Solr-Index erstellt.

Das könnte dich auch interessieren …