So installierst du Apache Solr auf Rocky Linux

Apache Solr oder Solr ist eine freie und quelloffene Suchplattform, die auf der Apache Lucene-Bibliothek basiert. Solr steht für Searching On Lucene with Replication und ist eine in Java geschriebene Suchplattform für Unternehmen.

Solr ist eine hoch skalierbare und zuverlässige Suchplattform mit fehlertoleranter und verteilter Indizierung. Außerdem verfügt sie über Replikation und automatische Ausfallsicherung und Wiederherstellung.

In den meisten Fällen wird Solr für die Entwicklung von Unternehmensanwendungen verwendet, die eine hohe Leistung bieten. Solr wird von einigen großen Internetanbietern wie Adobe, Bloomberg, AT&T, Magento, Netflix, Instagram usw. genutzt.

In dieser Anleitung erfährst du, wie du Apache Solr auf dem Rocky Linux-System installierst, die Solr-Basisauthentifizierung aktivierst, die Obergrenze für offene Dateien und Prozesse für die Solr-Bereitstellung einrichtest und den ersten Solr-Kern über die Kommandozeile erstellst.

Voraussetzungen

Bevor du beginnst, solltest du sicherstellen, dass du die folgenden Voraussetzungen erfüllst:

  • Betriebssystem: Rocky Linux 8.5 (Green Obsidian)
  • Arbeitsspeicher: 2 GB zum Testen
  • CPUs: 2
  • Root-Rechte

Jetzt können wir loslegen.

Installation von Java OpenJDK

Um Solr auf einem Linux-System zu installieren, brauchst du mindestens Java OpenJDK 1.8 oder höher. Rocky Linux bietet mehrere Versionen von Java OpenJDK an. In diesem Beispiel wirst du Java OpenJDK 1.11 für die Solr-Installation installieren.

1. Führe den folgenden DNF-Befehl aus, um Java OpenJDK 1.11 auf dem Rocky Linux-System zu installieren.

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

Gib„y“ ein, um die Installation zu bestätigen und drücke„Enter„, um fortzufahren.

2. Wenn die Java-Installation abgeschlossen ist, überprüfe deine Installation mit dem folgenden Befehl.

java --version

Nachfolgend siehst du eine ähnliche Ausgabe, die du erhalten wirst.

openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)

Du hast die Installation von Java OpenJDK 1.11 auf dem Rocky Linux System abgeschlossen und kannst nun Solr herunterladen und auf deinem System installieren.

Installation von Solr auf Rocky Linux

In diesem Schritt installierst du die neueste Version von Solr (die aktuelle Version ist 8.11) auf dem Rocky Linux System. Du installierst Solr mit dem Installationsskript, das im Solr-Paket enthalten ist.

1. Wechsle dein aktuelles Arbeitsverzeichnis in „/opt“ und lade den Solr-Binärcode mit dem folgenden Befehl herunter.

cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz

2. Nachdem der Download abgeschlossen ist, entpacke das Installationsskript aus dem Solr-Paket.

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

Jetzt siehst du das Solr-Installationsskript„install_solr_service.sh„.

3. Führe das Installer-Skript wie unten beschrieben aus, um Solr zu installieren.

sudo bash ./install_solr_service.sh solr-8.11.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983

Das Installationsskript installiert Solr mit den folgenden Angaben:

  • Das Installationsverzeichnis ist„/opt/solr„.
  • Das Solr-Datenverzeichnis wird im Verzeichnis„/var/solr“ verfügbar sein.
  • Solr wird als Systembenutzer„solr“ ausgeführt.
  • Definiere das systemd-Skript für Solr mit dem Skript’solr‚.
  • Solr läuft jetzt auf dem Standard-Port„8083„.

Wenn die Installation von Solr abgeschlossen ist, siehst du eine ähnliche Ausgabe wie unten.

Installation von Apache Solr

Du siehst eine Warnmeldung über das Datei- und Prozesslimit für Solr, die du im nächsten Schritt beheben wirst. Solr läuft jetzt auf dem Port „8983“.

4. Überprüfe den„LISTEN„-Port auf deinem System mit dem folgenden Befehl.

ss -aplnt | grep java

Wenn die Solr-Installation korrekt ist, wirst du sehen, dass der Port „8983“ jetzt von der Java-Anwendung verwendet wird.

LISTEN 0      50     [::ffff:127.0.0.1]:7983            *:*    users:(("java",pid=4512,fd=48))
LISTEN 0      50                      *:8983            *:*    users:(("java",pid=4512,fd=157))

Beende nun den Solr-Prozess mit dem folgenden Befehl.

pkill java
kill -9 PID

PID ist die Prozess-ID der Solr-Anwendung. Du kannst die PID der Solr-Anwendung über den Befehl ss oben sehen.

5. Als Nächstes lädst du den Systemmanager neu, um die neue systemd-Dienstdatei anzuwenden.

sudo systemctl daemon-reload

6. Starte und aktiviere den Dienst„solr“ mit dem folgenden Befehl.

sudo systemctl enable --now solr

Überprüfe den„solr„-Dienst mit dem folgenden Befehl.

sudo systemctl status solr

Jetzt siehst du, dass der „solr“-Dienst „aktiv (beendet)“ ist. Der „solr“-Dienst läuft, aber systemd kann keinen Daemon finden, den es überwachen kann.

Starten und Aktivieren von Solr

Damit hast du die grundlegende Solr-Installation auf dem Rocky Linux System abgeschlossen.

Limits für geöffnete Dateien und maximale Prozesse für Solr-Benutzer einrichten

Wie du oben sehen kannst, hast du während der Solr-Installation eine Warnmeldung über das Limit für offene Dateien und das Prozesslimit erhalten. Solr verlangte, dass das Limit für offene Dateien und die maximale Anzahl an Prozessen auf„65000“ gesetzt wird.

Um diese Warnmeldungen zu beheben, musst du die Konfiguration„/etc/security/limits.conf“ bearbeiten und das maximale Limit für offene Dateien und Prozesse für den Benutzer „solr“ festlegen.

1. Bearbeite die Konfiguration„/etc/security/limits.conf“ mit dem Editor nano.

sudo nano /etc/security/limits.conf

Kopiere die folgende Konfiguration und füge sie am Ende der Zeile ein.

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

Speichere die Konfiguration und beende sie.

2. Überprüfe als Nächstes die Limits für offene Dateien und die maximale Anzahl der verarbeiteten Benutzer.

sudo -u solr ulimit -a

Du wirst sehen, dass das Limit für offene Dateien und die maximale Anzahl der verarbeiteten Benutzer auf„65000“ begrenzt ist (siehe unten).

Ulimit einrichten

3. Starte den Dienst„solr“ mit dem folgenden Befehl neu.

sudo systemctl restart solr

Damit hast du die Konfiguration des Limits für die maximal geöffneten Dateien und die maximale Anzahl der Prozesse für die Solr-Anwendung abgeschlossen.

Überprüfe die Solr-Installation

Um die Solr-Installation zu überprüfen, musst du den Port„8983“ zur Firewalld hinzufügen, dann kannst du auf das Dashboard der Solr-Webanwendung zugreifen.

1. Führe den Befehl firewall-cmd aus, um den Port„8983“ zur Firewalld hinzuzufügen und lade sie neu.

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

2. Öffne nun deinen Webbrowser und gib die IP-Adresse des Servers mit Port„8983“ wie folgt ein.

http://192.168.1.10:8983/

Du siehst dann das Solr-Dashboard wie unten abgebildet.

Solr Dashboard

Bei der Standardinstallation von Solr ist keine Authentifizierung und Autorisierung aktiviert. Gehe zum nächsten Schritt über, um die Solr-Installation mit Authentifizierung und Autorisierung zu sichern.

Solr mit Basisauthentifizierung absichern

In diesem Schritt lernst du, wie du die „Basisauthentifizierung für Solr“ aktivierst.

Um die Solr-Basisauthentifizierung zu aktivieren, musst du eine neue Konfigurationsdatei„security.json“ erstellen und das Authentifizierungs- und Autorisierungsmodul definieren. Die Konfigurationsdatei „security.json“ muss sich im Solr-Datenverzeichnis „/var/solr/data“ befinden.

Außerdem kannst du das Solr-Datenverzeichnis über das Solr-Dashboard wie folgt überprüfen.

Solr Home-Verzeichnis

1. Wechsle dein Arbeitsverzeichnis zu‚/var/solr/data‘ und erstelle mit dem nano-Editor eine neue Konfigurationsdatei’security.json‚.

cd /var/solr/data/
sudo -u solr nano security.json

Kopiere die folgende Konfiguration und füge sie ein.

{
  "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 die Konfiguration und beende sie.

Dadurch wird ein neuer Admin-Benutzer„solr“ mit dem Passwort„SolrRocks“ erstellt

2. Starte den „solr“-Dienst neu, um die neue Konfiguration mit dem folgenden systemctl-Befehl anzuwenden.

sudo systemctl restart solr

3. Um die Solr-Authentifizierung zu überprüfen, gehst du zurück zu deinem Webbrowser und gibst die IP-Adresse des Servers mit dem Solr-Port„8983“ ein.

http://192.168.1.10:8983/

Nun wirst du zur Solr-Anmeldeseite weitergeleitet (siehe unten).

Solr-Anmeldeseite

Gib den Benutzernamen„solr“ und das Passwort„SolrRocks“ ein und klicke dann auf die Schaltfläche „Anmelden“.

Daraufhin wird das Solr-Dashboard angezeigt.

Im Abschnitt„Sicherheit“ siehst du ein detailliertes Authentifizierungs- und Autorisierungs-Plugin mit dem Benutzernamen und den Rollen, die du gerade verwendest.

Solr-Authentifizierung Aktiviert

Jetzt hast du die Solr-Installation mit dem Basic Authentication Plugin abgesichert.

Erstelle zunächst einen Solr-Kern

In Solr bezieht sich der Begriff Core auf einen einzelnen Lucene-Index, und du kannst mehrere Cores in einer einzigen Solr-Installation erstellen.

Jeder Core enthält Transaktionsprotokolle und Konfigurationsdateien wie die solrconfig.xml, Schemadateien usw. Außerdem kannst du in jedem Core Daten mit unterschiedlichen Strukturen indizieren und sie verschiedenen Anwendungen/Audiences präsentieren.

Du kannst einen Core mit der Befehlszeile„solr“ oder über das Solr Admin-Dashboard erstellen.

In diesem Schritt lernst du, wie du einen Core mit der„solr„-Befehlszeile erstellst.

1. Bevor du einen Core erstellst, musst du die Solr-Anmeldedaten konfigurieren.

Wechsle dein Arbeitsverzeichnis zu„/opt/solr/bin“ und kopiere die Standardkonfiguration„solr.in.sh.orig“ nach„solr.in.sh„.

cd /opt/solr/bin/
cp solr.in.sh.orig solr.in.sh

Bearbeite die Konfiguration„solr.in.sh“ mit dem Editor nano.

sudo nano solr.in.sh

Entferne das Kommentarzeichen bei der Option„SOLR_AUTH_TYPE“ und ändere den Wert in„basic„. Dadurch wird der Befehl „solr“ angewiesen, das Plugin „Basic Authentication“ zu verwenden.

SOLR_AUTH_TYPE="basic"

Entferne das Kommentarzeichen in der Option„SOLR_AUTHENTICATION_OPTS“ und ändere den Wert in den Solr-Benutzer und das Passwort wie unten angegeben.

SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

Speichere die Konfiguration und beende sie.

2. Als Nächstes erstellst du mit dem unten stehenden Solr-Befehl einen neuen Kern. In diesem Beispiel erstellst du einen neuen Kern mit dem Namen„new_core“ und dem Konfigurationsnamen„ConfigName„.

su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"

3. Gehe nun zurück zum Solr-Administrations-Dashboard, um den Solr-Kern zu überprüfen.

Du siehst die Details des Kerns wie unten.

Solr-Kern

Und du hast einen Solr-Kern mit der Befehlszeile „solr“ erstellt.

Fazit

Herzlichen Glückwunsch! Du hast die Installation von Solr auf dem Rocky Linux System gelernt. Außerdem hast du gelernt, wie du die Solr-Installation mit dem Basic Authentication Plugin absicherst und wie du einen Solr-Core über die „solr“-Befehlszeile erstellst.

Das könnte dich auch interessieren …