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:
- Aktualisieren Sie die Paketliste Ihres Systems:
sudo dnf update
- Installieren Sie Java OpenJDK 11:
sudo dnf install java-11-openjdk java-11-openjdk-devel
- Ü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:
- Installieren Sie die erforderlichen Pakete:
sudo dnf install curl lsof chkconfig -y
- 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
- Extrahieren Sie das Installerskript:
tar xzf solr-9.2.1.tgz solr-9.2.1/bin/install_solr_service.sh --strip-components=2
- Installieren Sie Apache Solr:
sudo bash ./install_solr_service.sh solr-9.2.1.tgz
- Stoppen Sie den aktuellen Apache Solr-Prozess:
sudo service solr stop
- Starten Sie den Apache Solr-Dienst:
sudo service solr start
- Ü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:
- Erhöhen Sie die Werte
shmmaxundnr_hugepages:
sudo echo 4294967295 > /proc/sys/kernel/shmmax sudo echo 1536 > /proc/sys/vm/nr_hugepages
- Öffnen Sie die Datei
solr.in.sh:
sudo nano /etc/default/solr.in.sh
- Kommentieren Sie den Parameter
SOLR_HEAPaus und setzen Sie den gewünschten maximalen Heap-Speicher (z.B., 4g):
SOLR_HEAP="4g"
- Kommentieren Sie die Parameter
SOLR_JETTY_HOSTundSOLR_HOSTaus und setzen Sie Ihre interne IP-Adresse:
SOLR_HOST="" SOLR_JETTY_HOST=""
- Speichern Sie die Änderungen und verlassen Sie den Editor.
- Starten Sie den Apache Solr-Dienst neu:
sudo service solr restart
- Ü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:
- Öffnen Sie die Datei
limits.conf:
sudo nano /etc/security/limits.conf
- 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
- Speichern Sie die Datei und verlassen Sie den Editor.
- Ü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.
- Starten Sie den Apache Solr-Dienst neu:
sudo service solr restart
- Öffnen Sie den Port 8983 auf Firewalld:
sudo firewall-cmd --add-port=8983/tcp --permanent
- 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:
- Erstellen Sie eine Datei security.json:
sudo nano /var/solr/data/security.json
- 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"} } }
- Speichern Sie die Datei und verlassen Sie den Editor.
- Starten Sie den Apache Solr-Dienst neu:
sudo service solr restart
- Aktualisieren Sie das Apache Solr-Verwaltungsdashboard in Ihrem Webbrowser.
- Sie sollten nun eine Anmeldeseite sehen. Geben Sie den Benutzernamen und das Passwort ein, die Sie in der Datei security.json festgelegt haben.
- 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:
- Öffnen Sie die Datei
solr.in.sh:
sudo nano /etc/default/solr.in.sh
- Kommentieren Sie die Parameter
SOLR_AUTH_TYPEundSOLR_AUTHENTICATION_OPTSaus. - Speichern Sie die Datei und verlassen Sie den Editor.
- Starten Sie den Apache Solr-Dienst neu:
sudo service solr restart
- Erstellen Sie einen neuen Solr-Index:
su- solr -c "/opt/solr/bin/solr create -c test1_core -n Test1Core"
- Ü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.