Apache Solr ist eine leistungsfähige und beliebte Enterprise-Suchplattform, die auf der Apache Lucene-Bibliothek basiert und von großen Internetunternehmen wie Adobe, Netflix und Instagram verwendet wird. In diesem umfassenden Leitfaden führen wir Sie durch die Installation von Apache Solr auf einem AlmaLinux 9-Server, optimieren seine Leistung, sichern ihn mit grundlegender Authentifizierung und erstellen Ihren ersten Solr-Index.

Java OpenJDK 11 installieren

Um Apache Solr auszuführen, müssen wir Java OpenJDK 11 installieren. Befolgen Sie diese Schritte:

  1. Aktualisieren Sie die Paketliste Ihres Systems:
sudo dnf update
  1. Installieren Sie Java OpenJDK 11:
sudo dnf install java-11-openjdk java-11-openjdk-devel
  1. Überprüfen Sie die Java-Version:
java --version

Sie sollten die installierte Java OpenJDK 11-Version sehen.

Apache Solr installieren

Sobald Sie Java OpenJDK 11 installiert haben, können Sie mit der Installation von Apache Solr fortfahren:

  1. Installieren Sie die erforderlichen Pakete:
sudo dnf install curl lsof chkconfig -y
  1. Laden Sie das Apache Solr Binary-Paket (Version 9.2.1) herunter:
curl -so https://downloads.apache.org/solr/solr/9.2.1/solr-9.2.1.tgz
  1. Extrahieren Sie das Installerskript:
tar xzf solr-9.2.1.tgz solr-9.2.1/bin/install_solr_service.sh --strip-components=2
  1. Installieren Sie Apache Solr:
sudo bash ./install_solr_service.sh solr-9.2.1.tgz
  1. Stoppen Sie den aktuellen Apache Solr-Prozess:
sudo service solr stop
  1. Starten Sie den Apache Solr-Dienst:
sudo service solr start
  1. Überprüfen Sie den Apache Solr-Dienst:
sudo service solr status

Wenn Apache Solr läuft, sollten Sie eine ähnliche Ausgabe sehen, die seinen Status bestätigt.

Optimierung der Apache Solr-Installation

Um die Leistung von Apache Solr zu optimieren, können Sie seinen maximalen Heap-Speicher und seine interne IP-Adresse konfigurieren. Befolgen Sie diese Schritte:

  1. Erhöhen Sie die Werte shmmax und nr_hugepages:
sudo echo 4294967295 > /proc/sys/kernel/shmmax
sudo echo 1536 > /proc/sys/vm/nr_hugepages
  1. Öffnen Sie die Datei solr.in.sh:
sudo nano /etc/default/solr.in.sh
  1. Kommentieren Sie den Parameter SOLR_HEAP aus und setzen Sie den gewünschten maximalen Heap-Speicher (z.B., 4g):
SOLR_HEAP="4g"
  1. Kommentieren Sie die Parameter SOLR_JETTY_HOST und SOLR_HOST aus und setzen Sie Ihre interne IP-Adresse:
SOLR_HOST=""
SOLR_JETTY_HOST=""
  1. Speichern Sie die Änderungen und verlassen Sie den Editor.
  2. Starten Sie den Apache Solr-Dienst neu:
sudo service solr restart
  1. Überprüfen Sie den Apache Solr-Status:
sudo service solr status

Einrichten von Ulimits und Firewalld

Um sicherzustellen, dass Apache Solr reibungslos läuft, müssen Sie maximale Prozesse und maximale offene Dateien konfigurieren und den erforderlichen Port auf Firewalld öffnen. Befolgen Sie diese Schritte:

  1. Öffnen Sie die Datei limits.conf:
sudo nano /etc/security/limits.conf
  1. Fügen Sie die folgende Konfiguration am Ende der Datei hinzu:
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
  1. Speichern Sie die Datei und verlassen Sie den Editor.
  2. Überprüfen Sie die maximalen Prozesse und die maximalen offenen Dateien:
sudo -H -u solr bash -c "ulimit -aH"

Stellen Sie sicher, dass beide Einstellungen einen Wert von 65.000 anzeigen.

  1. Starten Sie den Apache Solr-Dienst neu:
sudo service solr restart
  1. Öffnen Sie den Port 8983 auf Firewalld:
sudo firewall-cmd --add-port=8983/tcp --permanent
  1. Laden Sie Firewalld neu, um die Änderungen anzuwenden und die Regeln zu überprüfen:
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Sie sollten den Port 8983 in den Firewalld-Regeln sehen.

Apache Solr mit grundlegender Authentifizierung sichern

Standardmäßig wird Apache Solr ohne Authentifizierung installiert, was ein Sicherheitsrisiko darstellen kann. Um es zu sichern, werden wir die grundlegende Authentifizierung aktivieren. Befolgen Sie diese Schritte:

  1. Erstellen Sie eine Datei security.json:
sudo nano /var/solr/data/security.json
  1. Fügen Sie die folgende Konfiguration ein, um einen neuen Benutzer mit dem gewünschten Benutzernamen und Passwort zu erstellen:
{
"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"}
}
}
  1. Speichern Sie die Datei und verlassen Sie den Editor.
  2. Starten Sie den Apache Solr-Dienst neu:
sudo service solr restart
  1. Aktualisieren Sie das Apache Solr-Verwaltungsdashboard in Ihrem Webbrowser.
  2. Sie sollten nun eine Anmeldeseite sehen. Geben Sie den Benutzernamen und das Passwort ein, die Sie in der Datei security.json festgelegt haben.
  3. Nach der Authentifizierung können Sie auf das Apache Solr-Dashboard zugreifen.

Erstellen Ihres ersten Solr-Index

Mit installiertem und gesichertem Apache Solr können Sie nun Ihren ersten Solr-Index erstellen. Befolgen Sie diese Schritte:

  1. Öffnen Sie die Datei solr.in.sh:
sudo nano /etc/default/solr.in.sh
  1. Kommentieren Sie die Parameter SOLR_AUTH_TYPE und SOLR_AUTHENTICATION_OPTS aus.
  2. Speichern Sie die Datei und verlassen Sie den Editor.
  3. Starten Sie den Apache Solr-Dienst neu:
sudo service solr restart
  1. Erstellen Sie einen neuen Solr-Index:
su- solr -c "/opt/solr/bin/solr create -c test1_core -n Test1Core"
  1. Überprüfen Sie die Erstellung des neuen Solr-Index im Apache Solr-Verwaltungsdashboard.

Für zuverlässige und skalierbare Cloud-Hosting-Lösungen, sollten Sie die Linux SSD VPS-Dienste von Shape.host in Betracht ziehen. Shape.host bietet erstklassige Hosting-Dienste und unterstützt Unternehmen mit effizienten, skalierbaren und sicheren Lösungen. Weitere Informationen finden Sie auf Shape.host.