Zum Hauptinhalt springen Skip to page footer

Installation und Test von OpenSearch auf Debian 11: Ein detaillierter Leitfaden

| Tutorial | Opensearch Datenbank

Lernen Sie, wie Sie OpenSearch, eine Weiterentwicklung von Elasticsearch und Kibana, auf einem Server mit Debian 11 installieren und testen. Entdecken Sie auch die Features und Vorteile von OpenSearch.

Einleitung

OpenSearch ist ein Gemeinschaftsprojekt von Amazon und eine Weiterentwicklung von Elasticsearch und Kibana. Es handelt sich um eine vollständig quelloffene Such- und Analysesoftware mit umfangreichen und innovativen Funktionen. Die Hauptkomponenten des OpenSearch-Projekts sind OpenSearch (ein Zweig von Elasticsearch) und OpenSearch Dashboard (ein Zweig von Kibana). Beide Komponenten bieten Funktionen wie Unternehmenssicherheit, Warnmeldungen, maschinelles Lernen, SQL, Index-Statusverwaltung und mehr.

Die Installation von OpenSearch mit dem Paketmanager Advanced Packaging Tool (APT) vereinfacht den Installationsprozess im Vergleich zur Tarball-Methode erheblich. Einige der technischen Aspekte, wie Installationspfade, Speicherorte der Konfigurationsdateien und die Erstellung von Diensten, die von systemd verwaltet werden, werden automatisch vom Paketmanager erledigt. 

Vorraussetzungen

  • Ein Server mit Debian 11 und mindestens 8 GB RAM. 
  • Ein Nicht-Root-Benutzer mit sudo/root-Administratorrechten.

Schritt 1: OpenSearch von einem APT-Repository installieren

APT, das primäre Paketverwaltungswerkzeug für Debian-basierte Betriebssysteme, ermöglicht das Herunterladen und Installieren von Debian-Paketen aus den APT-Repositories.

Installieren Sie die benötigten Pakete
sudo apt-get update && sudo apt-get -y install lsb-release ca-certificates curl gnupg2
Importieren Sie Ihren öffentlichen GPG-Schlüssel. Dieser Schlüssel wird verwendet, um zu verifizieren, dass das APT-Repository signiert ist.
curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring
Ausgabe:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4300  100  4300    0     0  43434      0 --:--:-- --:--:-- --:--:-- 43434
Ein APT-Repository für OpenSearch erstellen
echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list

Überprüfen Sie, ob das Repository erfolgreich erstellt wurde

sudo apt-get update
Unter anderem die sollten die folgenden Zeilen in der Ausgabe erscheinen:
Holen:3 https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable InRelease [7.535 B]
Holen:4 https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable/main amd64 Packages [1.223 B]

Gleichzeitig wurden mit dem letzten Befehl die Paketlisten aktualisiert.

Sie können alle verfügbaren Versionen von OpenSearch auflisten, indem Sie Repository-Informationen hinzufügen
sudo apt list -a opensearch
Auflistung… Fertig
opensearch/stable 2.8.0 amd64
opensearch/stable 2.7.0 amd64
opensearch/stable 2.6.0 amd64
opensearch/stable 2.5.0 amd64

Wählen Sie die Version von OpenSearch, die Sie installieren möchten

Wenn nicht anders angegeben, wird die neueste verfügbare Version von OpenSearch installiert
sudo apt-get install opensearch
Ausgabe:
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Die folgenden NEUEN Pakete werden installiert:
  opensearch
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 68 nicht aktualisiert.
Es müssen 742 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 969 MB Plattenplatz zusätzlich benutzt.
Holen:1 https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable/main amd64 opensearch amd64 2.8.0 [742 MB]
Es wurden 742 MB in 1 min 13 s geholt (10,2 MB/s).
Vormals nicht ausgewähltes Paket opensearch wird gewählt.
(Lese Datenbank ... 140873 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../opensearch_2.8.0_amd64.deb ...
Running OpenSearch Pre-Installation Script
Entpacken von opensearch (2.8.0) ...
opensearch (2.8.0) wird eingerichtet ...
Running OpenSearch Post-Installation Script
### NOT starting on installation, please execute the following statements to configure opensearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable opensearch.service
### You can start opensearch service by executing
 sudo systemctl start opensearch.service
### Create opensearch demo certificates in /etc/opensearch/
 See demo certs creation log in /var/log/opensearch/install_demo_configuration.log
Trigger für libc-bin (2.31-13+deb11u6) werden verarbeitet ...
Alternativ können Sie eine bestimmte Version von OpenSearch installieren
sudo apt-get install opensearch=2.8.0
Aktivieren Sie anschließend OpenSearch
sudo systemctl enable opensearch
Ausgabe:
Synchronizing state of opensearch.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable opensearch
Created symlink /etc/systemd/system/multi-user.target.wants/opensearch.service → /lib/systemd/system/opensearch.service.
Starten Sie OpenSearch
sudo systemctl start opensearch
Prüfen Sie, ob OpenSearch korrekt gestartet wurde
sudo systemctl status opensearch
Ausgabe:
● opensearch.service - OpenSearch
     Loaded: loaded (/lib/systemd/system/opensearch.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-06-17 12:20:54 CEST; 32s ago
       Docs: https://opensearch.org/
   Main PID: 3953 (java)
      Tasks: 79 (limit: 4644)
     Memory: 1.2G
        CPU: 28.925s
     CGroup: /system.slice/opensearch.service
             └─3953 /usr/share/opensearch/jdk/bin/java -Xshare:auto -Dopensearch.networkaddress.cache.ttl=60 -Dopensearch.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -XX:+ShowCodeDetailsInExceptionMessages -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.re ...

Jun 17 12:20:40 vs31deb-tm systemd[1]: Starting OpenSearch...
Jun 17 12:20:42 vs31deb-tm systemd-entrypoint[3953]: WARNING: A terminally deprecated method in java.lang.System has been called
Jun 17 12:20:42 vs31deb-tm systemd-entrypoint[3953]: WARNING: System::setSecurityManager has been called by org.opensearch.bootstrap.OpenSearch (file:/usr/share/opensearch/lib/opensearch-2.8.0.jar)
Jun 17 12:20:42 vs31deb-tm systemd-entrypoint[3953]: WARNING: Please consider reporting this to the maintainers of org.opensearch.bootstrap.OpenSearch
Jun 17 12:20:42 vs31deb-tm systemd-entrypoint[3953]: WARNING: System::setSecurityManager will be removed in a future release
Jun 17 12:20:42 vs31deb-tm systemd-entrypoint[3953]: WARNING: A terminally deprecated method in java.lang.System has been called
Jun 17 12:20:42 vs31deb-tm systemd-entrypoint[3953]: WARNING: System::setSecurityManager has been called by org.opensearch.bootstrap.Security (file:/usr/share/opensearch/lib/opensearch-2.8.0.jar)
Jun 17 12:20:42 vs31deb-tm systemd-entrypoint[3953]: WARNING: Please consider reporting this to the maintainers of org.opensearch.bootstrap.Security
Jun 17 12:20:42 vs31deb-tm systemd-entrypoint[3953]: WARNING: System::setSecurityManager will be removed in a future release
Jun 17 12:20:54 vs31deb-tm systemd[1]: Started OpenSearch.

Schritt 2: Testen Sie OpenSearch (optional)

Sie sollten Ihre OpenSearch-Installation testen, bevor Sie mit der Konfiguration fortfahren. Andernfalls kann es schwierig sein festzustellen, ob spätere Probleme auf Installationsprobleme oder auf benutzerdefinierte Einstellungen zurückzuführen sind, die nach der Installation vorgenommen wurden.

Einige Demo-Sicherheitseinstellungen werden automatisch angewendet, wenn OpenSearch mit einem Debian-Paket installiert wird. Dazu gehören selbstsignierte TLS-Zertifikate und verschiedene Benutzer und Rollen. Informationen darüber, wie Sie diese Einstellungen selbst vornehmen können, finden Sie unter OpenSearch in Ihrer Umgebung einrichten.

Achtung

Ein OpenSearch-Knoten mit der Standardkonfiguration (Benutzer mit Demo-Zertifikat und Standard-Passwort) ist nicht für Produktionsumgebungen geeignet. Wenn Sie planen, den Knoten in der Produktion zu verwenden, sollten Sie zumindest die Demo-TLS-Zertifikate durch Ihre eigenen TLS-Zertifikate ersetzen und die interne Benutzer- und Passwortliste aktualisieren. Weitere Hinweise, wie Sie sicherstellen können, dass Ihre Knoten Ihren Sicherheitsanforderungen entsprechend konfiguriert sind, finden Sie unter Sicherheitskonfiguration.

Prüfen ob Opensearch läuft

Stellen Sie sicher, dass OpenSearch läuft, indem Sie eine Anfrage an den Server senden. Stellen Sie sicher, dass das Flag --insecure verwendet wird. Dies ist erforderlich, da TLS-Zertifikate selbst signiert sind.

Senden Sie Anfragen an Port 9200:
curl -X GET https://localhost:9200 -u 'admin:admin' --insecure
Ausgabe:
{
  "name" : "vs31deb-tm",
  "cluster_name" : "opensearch",
  "cluster_uuid" : "pB3CI33oRYiDQPKHI0BAww",
  "version" : {
    "distribution" : "opensearch",
    "number" : "2.8.0",
    "build_type" : "deb",
    "build_hash" : "db90a415ff2fd428b4f7b3f800a51dc229287cb4",
    "build_date" : "2023-06-03T06:22:11.808047829Z",
    "build_snapshot" : false,
    "lucene_version" : "9.6.0",
    "minimum_wire_compatibility_version" : "7.10.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}
Sollte anstatt dessen aber folgende Fehlermeldung erscheinen:
curl: (56) Received HTTP code 403 from proxy after CONNECT
Erweitern Sie den letzten Befehl um die Option --noproxy ‘*’
curl -X GET https://localhost:9200 -u 'admin:admin' --insecure -–noproxy ‘*’
Abfrage des Plugin-Endpunktes
curl -X GET https://localhost:9200/_cat/plugins?v -u 'admin:admin' --insecure
Ausgabe:
name       component                            version
vs31deb-tm opensearch-alerting                  2.8.0.0
vs31deb-tm opensearch-anomaly-detection         2.8.0.0
vs31deb-tm opensearch-asynchronous-search       2.8.0.0
vs31deb-tm opensearch-cross-cluster-replication 2.8.0.0
vs31deb-tm opensearch-geospatial                2.8.0.0
vs31deb-tm opensearch-index-management          2.8.0.0
vs31deb-tm opensearch-job-scheduler             2.8.0.0
vs31deb-tm opensearch-knn                       2.8.0.0
vs31deb-tm opensearch-ml                        2.8.0.0
vs31deb-tm opensearch-neural-search             2.8.0.0
vs31deb-tm opensearch-notifications             2.8.0.0
vs31deb-tm opensearch-notifications-core        2.8.0.0
vs31deb-tm opensearch-observability             2.8.0.0
vs31deb-tm opensearch-performance-analyzer      2.8.0.0
vs31deb-tm opensearch-reports-scheduler         2.8.0.0
vs31deb-tm opensearch-security                  2.8.0.0
vs31deb-tm opensearch-security-analytics        2.8.0.0
vs31deb-tm opensearch-sql                       2.8.0.0

Sollte auch hier die oben beschriebene Fehlermeldung “curl: (56) Received HTTP code 403 from proxy after CONNECT” müssen Sie auch diesen Befehl um die Option “--noproxy ‘*’” erweitern.

Schritt 3: OpenSearch in Ihrer Umgebung einrichten

Dieser Schritt wird in Kürze in einem separaten Tutorial behandelt.