Mit OpenSearch-Clustern suchen

Mit OCI Search mit OpenSearch können Sie OpenSearch-Cluster für Ihre Suchlösungen erstellen.

Nachdem Sie das OpenSearch-Cluster erstellt haben, verarbeitet Search mit OpenSearch die meisten Management- und Vorgänge von Suchclustern, einschließlich Vorgängen wie Sicherheitsupdates, Upgrades, Größenänderungen und geplanten Backups.

Sie können die folgenden OpenSearch-Clusteraufgaben ausführen:

Listen Sie die OpenSearch-Cluster in einem Compartment auf.

Neues OpenSearch-Cluster erstellen.

Details zu einem OpenSearch-Cluster abrufen.

Benennen Sie ein OpenSearch-Cluster um.

Größe eines OpenSearch-Clusters ändern.

Suche mit OpenSearch-Clustersoftware upgraden.

Löschen Sie ein OpenSearch-Cluster aus Ihrem Mandanten.

Informationen zum vertikalen Skalieren der Clusterkonfiguration finden Sie unter Größe einer Suche mit dem Cluster OpenSearch ändern. Schritte zum Wiederherstellen des Clusters aus einem Backup finden Sie unter Mit automatisierten Clusterbackups von OpenSearch suchen. Informationen zum Upgrade des vorhandenen Clusters auf eine neuere Version von Open Search finden Sie unter Suche mit OpenSearch Clustersoftware upgraden.

IAM-Policy

Um Oracle Cloud Infrastructure verwenden zu können, muss Ihnen von einem Administrator Sicherheitszugriff in einer Policy erteilt werden. Dieser Zugriff ist unabhängig davon erforderlich, ob Sie die Konsole oder die REST-API mit einem SDK, einer CLI oder einem anderen Tool verwenden. Wenn Sie eine Meldung erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen Sie den Administrator, welcher Zugriffstyp Ihnen zugewiesen wurde und in welchem Compartment Sie arbeiten sollen.

Um ein Cluster zu erstellen oder zu verwalten, müssen Sie Berechtigungen konfigurieren, um Benutzern Zugriff zum Erstellen und Verwalten der erforderlichen Networkingressourcen zu erteilen. Außerdem müssen Benutzerberechtigungen zum Erstellen und Verwalten der Suche mit OpenSearch-Ressourcen erteilt werden. Die Networkingberechtigungen müssen für das Compartment konfiguriert werden, das die Networkingressourcen enthält. Wenn sich das Cluster also in einem anderen Compartment als VCN und Subnetz befindet, stellen Sie sicher, dass die Networkingberechtigungen für das Compartment konfiguriert sind, das das VCN und das Subnetz enthält.

Das folgende Policy-Beispiel enthält die erforderlichen Berechtigungen für eine benutzerdefinierte Gruppe SearchOpenSearchAdmins:

Allow group SearchOpenSearchAdmins to manage vnics in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to manage vcns in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to manage subnets in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to use network-security-groups in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to manage opensearch-family in compartment <CLUSTER_RESOURCES_COMPARTMENT>
Tipp

Die Gruppe SearchOpenSearchAdmins in diesem Beispiel bezieht sich auf eine benutzerdefinierte Gruppe, die Sie erstellen. Weitere Informationen finden Sie unter Gruppen verwalten.

Die in diesem Beispiel enthaltenen Berechtigungen für Netzwerkressourcen sind wie angegeben erforderlich. Sie können die Berechtigungen für die Suche mit OpenSearch-Ressourcen, die in der letzten Zeile in diesem Beispiel angegeben sind, mit mehr Granularität konfigurieren.

Wenn Sie mit Policys nicht vertraut sind, finden Sie weitere Informationen unter Erste Schritte mit Policys und Allgemeine Policys.

Load-Balancer konfigurieren

Wenn Sie ein OpenSearch-Cluster erstellen, wird automatisch auch ein Load Balancer erstellt. Dieser Load Balancer verarbeitet alle Anforderungen, die an den API-Endpunkt OpenSearch gesendet werden. Sie können die Bandbreite des Load Balancers auswählen, wenn Sie das Cluster OpenSearch erstellen, um die Verarbeitung des eingehenden Nachrichtentraffics zu optimieren. Sie können auch vorhandene OpenSearch-Cluster bearbeiten, um die Bandbreite des Load Balancers zu ändern.

Die Auswahl der Bandbreitengröße ist optional. Wenn Sie keine Bandbreitengröße für den Load Balancer angeben, wird eine Standardgröße basierend auf der Clustergröße OpenSearch (Anzahl der Master-, Daten-, Kibana- und Suchknoten) festgelegt.

Knoten für maschinelles Lernen

Knoten für maschinelles Lernen (ML) sind für die Ausführung von Workloads für maschinelles Lernen über das ML Commons-Plug-in und die zugehörigen KI-Komponenten in OpenSearch optimiert. Diese Knoten verarbeiten rechenintensive Vorgänge wie Modellregistrierung, Bereitstellung, Inferenz, Texteinbettung, Anomalieerkennung und RCA-Analysen.

Durch die Isolierung der ML-Aktivität von primären Daten und Cluster-Manager-Knoten ermöglichen ML-Knoten dem Cluster, erweiterte KI-Pipelines und Inferenz-Workloads auszuführen, ohne um I/O oder Speicher bei Indexierungs-/Suchaufgaben zu konkurrieren.

Den ML-Knoten wird automatisch die dedizierte Rolle ( node.roles: ["ml"] ) zugewiesen. Außerdem ist ihnen ein Block-Volume zugeordnet. Diese Rolle kennzeichnet sie als Compute-Endpunkte für ML-Commons-Jobs und Text-Embedding-Ingest-Pipelines. Sie können Modelle lokal verarbeiten oder eine Verbindung zu Remote-Inferenzendpunkten herstellen, wie OCI Data Science Model Deployments oder externe LLMs).

ML-Knoten bieten die folgenden Vorteile:

  • Performance: Löst rechenintensive ML-Inferenz- und Schulungsaufgaben von Daten- und Cluster-Manager-Knoten aus, um eine konsistent niedrige Latenz für Suche und Indexierung sicherzustellen.
  • Skalierbarkeit: Unterstützt sowohl die horizontale Skalierung (Hinzufügen weiterer ML-Knoten) als auch die vertikale Skalierung (Erhöhung der OCPU/des Speichers), wodurch eine elastische Ressourcenzuweisung für unterschiedliche ML-Workloads ermöglicht wird.
  • Kosteneffizienz: Mit OCI FLEX-Ausprägungen können Sie die Kosten pro Inferenz optimieren und nur den erforderlichen Compute-Footprint bezahlen.
  • Einfaches Management: Der ML Commons-Controller leitet Inferenz- und Schulungsaufgaben basierend auf dem verfügbaren Speicher und der Queuetiefe automatisch an berechtigte ML-Knoten weiter.
  • Integrationsflexibilität: Nahtlose Verbindung mit Texteinbettungs-Ingest-Pipelines, Vektorsuche, Anomalieerkennung und Agentic AI-Features, die in Open Search 3.x eingeführt wurden.

ML-Knoten bieten eine skalierbare, isolierte Compute-Schicht für KI/ML-Workloads und verbessern den Clusterdurchsatz, die Stabilität und die Ressourceneffizienz.

ML-Knoten für Cluster konfigurieren

Sie können ML-Knoten während der Clustererstellung konfigurieren oder ein vorhandenes Cluster mit ihnen aktualisieren. Sie können horizontale und vertikale Skalierungsvorgänge auf ML-Knoten ausführen, die einem normalen Knoten ähnlich sind, einschließlich vertikaler und horizontaler Skalierung.

Eine vertikale Skalierung eines ML-Knotens auf 0 ist jedoch nicht zulässig, wenn ML-Aktivitäten im Cluster erkannt werden. Eine Anforderung zum Downskalieren des ML-Knotens auf 0 ist nicht erfolgreich, es sei denn, diese ML-bezogenen Aktivitäten werden gestoppt, wie das Aufheben des Deployments eines ML-Modells. Qualifizierte ML-Aktivitäten umfassen:

  • Bereitgestellte ML-Modelle
  • Registrierte KI-Agents
  • Registrierte und bereitgestellte Remote-Modelle
  • Root-Agent für KI-Assistenten
  • MCP-Tools

Ohne ML-Knoten werden ML-Aktivitäten auf regulären Datenknoten ausgeführt, die automatisch die Rolle des ML-Knotens übernehmen, wie dies in Clustern ohne dedizierte ML-Knoten der Fall ist.

Clustereinstellungen

Wenn Sie ein Cluster mit dediziertem ML-Knoten erstellen oder einem vorhandenen Cluster dedizierte ML-Knoten hinzufügen, wird der Parameter "only_run_on_ml_node": "true" standardmäßig auf True gesetzt. Dieser Parameter wird automatisch auf False zurückgesetzt, nachdem die ML-Knoten erfolgreich auf 0 reduziert wurden, damit neue ML-Workloads nahtlos auf dem Datenknoten ausgeführt werden können.

Sie können diese Clustereinstellungsparameter ändern. Sie sollten jedoch klar verstehen, wie sich diese Einstellungen auf das Cluster auswirken. Wenn dieser Parameter auf True in einem Cluster ohne dedizierte ML-Knoten gesetzt ist, können nicht alle ML-Anforderungen verarbeitet werden. In ähnlicher Weise bedeutet das Setzen dieses Kennzeichens auf False in einem Cluster mit dediziertem ML-Knoten, dass sowohl ML- als auch Datenknoten die ML-Workload verarbeiten. Dadurch wird der beabsichtigte Zweck der Isolierung von ML-Workloads auf dedizierten ML-Knoten von der Aufnahme und Abfrage von Workloads auf Datenknoten verworfen.

Konfigurierbare Parameter

Mit den folgenden Parametern können Sie ML-Knoten in Ihrem Cluster konfigurieren:

  • Knotenausprägung (für SHAPE- oder FLEX-Familien): Die Knotenausprägung für die ML-Knoten des Clusters.
  • Knotenanzahl: Die Anzahl der ML-Knoten, die dem Cluster hinzugefügt werden sollen.
  • Knotenspeicher: Die Arbeitsspeichermenge für die ML-Knoten in Gigabyte.
  • Anzahl Knoten-OCPUs: Die Anzahl der OCPUs, die für die ML-Knoten des Clusters konfiguriert werden sollen.
  • Knotenspeicher: Die Speichermenge in Gigabyte, die pro Knoten für die ML-Knoten des Clusters konfiguriert werden soll.
Hinweis

GPU-Knoten werden weder für ML noch für Datenknoten unterstützt.

Kennwort-Hash generieren (nur CLI und Terraform)

Wenn Sie den Parameter security-master-user-password-hash zur Verwendung mit dem Parameter security-master-user-name einschließen, müssen Sie den Kennwort-Hash generieren:

  1. Laden Sie die folgende Datei herunter:

    oci-crypto-common.jar

  2. Öffnen Sie eine Eingabeaufforderung, und führen Sie den folgenden Befehl aus:
    java -jar oci-crypto-common.jar pbkdf2_stretch_1000 <password-in-plain-text>

    wobei <password-in-plain-text> ein Passwort Ihrer Wahl ist.

    Sie müssen Java installiert auf Ihrem Computer haben, bevor Sie diesen Befehl ausführen können.

  3. Zeichnen Sie den generierten Passwort-Hash auf.
  4. Nehmen Sie den generierten Kennwort-Hash als Wert für den Parameter security-master-user-password-hash auf.

    Verwenden Sie einfache Anführungszeichen um das Kennwort herum. Beispiel:

    oci opensearch cluster create ... --security-master-user-name MyUser --security-master-user-password-hash 'pbkdf2_...MNUT5No='

Ressourcen taggen

Sie können Ihre Ressourcen mit Tags versehen, um sie entsprechend Ihren Geschäftsanforderungen zu organisieren. Sie können Tags beim Erstellen einer Ressource zuweisen oder die Ressource später mit den gewünschten Tags aktualisieren. Allgemeine Informationen zum Zuweisen von Tags finden Sie unter Überblick über Tagging.