Wie behebe ich zu wenig Speicherplatz in meiner OpenSearch Service-Domain?

Lesedauer: 5 Minute
0

Meine Amazon OpenSearch Service-Domain hat keinen Speicherplatz mehr und ich habe eine Fehlermeldung erhalten.

Kurzbeschreibung

Für Ihre OpenSearch Service-Domain ist Speicherplatz für die Verarbeitung von Workloads erforderlich. Der Fehler ClusterBlockException kann auftreten, weil Ihrer OpenSearch Service-Domain der Speicherplatz ausgegangen ist. Wenn Sie beispielsweise einem Clusterknoten Speicher zuweisen, sind bis zu 20 % dieses Speicherplatzes (20 GB) reservierter Speicherplatz. Außerdem reservieren Betriebssysteme wie Linux 5 % des Dateisystems, um alle kritischen Prozesse zu unterstützen, die vom Root-Benutzer ausgeführt werden. Weitere Informationen zu den Speicherplatzanforderungen für OpenSearch Service finden Sie unter Speicheranforderungen berechnen.

Gehen Sie wie folgt vor, um Probleme mit zu wenig Speicherplatz zu beheben:

  • Aktualisieren Sie Ihre Cluster-Sharding-Strategie, sodass Shards gleichmäßig auf alle Knoten verteilt werden.
  • Erhöhen Sie die Größe der Amazon Elastic Block Store (Amazon EBS)-Volumes der Domain. Sie können der OpenSearch Service-Domain auch weitere Clusterknoten hinzufügen.
  • Reduzieren Sie die Menge der Daten, die in Ihrer Domain gespeichert sind. Sie können nicht benötigte Dateien löschen, alte Indizes optimieren oder die Anzahl der Replikate der Domain reduzieren. Stellen Sie sicher, dass Sie zuerst einen manuellen Snapshot erstellen.
    **Hinweis:**Wenn Sie die Anzahl der Replikate der Domäne reduzieren, kann dies die Fehlertoleranz verringern. Es hat sich bewährt, mindestens ein Replikat für jeden Index zu konfigurieren.
  • Verwenden Sie Index State Management (ISM), um wenig Speicherplatz zu verwalten.
  • Verwenden Sie Amazon CloudWatch-Metriken, um die Menge des verfügbaren Speichers in Ihrem Cluster zu überwachen.

Lösung

Aktualisierung Ihrer Speicherkonfigurationseinstellungen

Wichtig: Bevor Sie Ihre Konfigurationseinstellungen aktualisieren, überprüfen Sie die Konfigurationsänderungen, die zu einer blauen/grünen Bereitstellung führen können. Stellen Sie außerdem sicher, dass Ihr dedizierter primärer Knotentyp der empfohlene Knotentyp ist.

Verwenden Sie den Befehl cat allocation (von der Elastic-Website), um zu überprüfen, wie viel Speicherplatz für jeden Knoten in Ihrem Cluster verfügbar ist:

curl -XGET "es_endpoint/_cat/allocation?v"

Gehen Sie wie folgt vor, um Ihre OpenSearch Service-Domainkonfigurationseinstellungen zu aktualisieren:

  1. Öffnen Sie die OpenSearch Service-Konsole.

  2. Wählen Sie im Navigationsbereich unter Verwaltete Cluster die Option Domains aus.

  3. Wählen Sie die Domain aus, zu der Sie Speicherplatz hinzufügen möchten.

  4. Aktualisieren Sie Ihre Domain-Einstellungen.

**Hinweis:**Wenn Sie ein Amazon EBS-Volume als Speicher verwenden, aktualisieren Sie Ihre Speicherkonfigurationseinstellungen. Oder Sie können die Anzahl der Datenknoten aktualisieren.

5.Wählen Sie Senden.

Wenn Ihre Domain EBS-Volumes für die Datenspeicherung verwendet

Wenn die Domain EBS-Volumes als Speicher verwendet, führen Sie eine der folgenden Aktionen aus:

  • Erhöhen Sie die Größe der EBS-Volumes. Die maximale Volume-Größe hängt vom Instanztyp des Knotens oder vom Elasticsearch-Versionstyp ab. Zum Beispiel ist 512 GiB die maximale Volume-Größe für Elasticsearch Version 1.5.
  • Wenn Sie die Größe der EBS-Volumes nicht erhöhen können, fügen Sie Knoten hinzu oder skalieren Sie Ihre Domain und wählen Sie ein neues EBS-Limit. Weitere Informationen zu EBS-Volumes finden Sie unter EBS-Volumengrößenkontingente.
  • Erstellen Sie eine Sicherungskopie unerwünschter Indizes in Ihrem Amazon Simple Storage Service (Amazon S3)-Bucket. Löschen Sie dann die Indizes aus Ihrem OpenSearch Service-Cluster, um Speicherplatz freizugeben. Oder Sie können Curator verwenden, um Daten in OpenSearch Service (von der Python Package Index-Website) zu rotieren. Sie können ISM auch verwenden, um Indizes im OpenSearch Service zu rotieren.
    **Hinweis:**Sie müssen einen manuelles Snapshot-Speicher eingerichtet haben, um Backups erstellen zu können.

Wenn Ihre Domain Amazon Elastic Compute Cloud (Amazon EC2) I3-Instances für die Datenspeicherung verwendet

Wenn Sie Amazon EC2 I3-Instances für die Datenspeicherung verwenden, führen Sie eine der folgenden Aktionen aus:

  • Fügen Sie Ihrem OpenSearch Service-Cluster weitere Knoten hinzu.
  • Skalieren Sie den Instanztyp, um mehr Speicherplatz zu erhalten.
  • Löschen Sie alle unerwünschten Indizes aus Ihrem OpenSearch Service-Cluster.

Unbenutzte oder alte Indizes löschen

Sie können das Erstellungsdatum des Indizes mit dem folgenden Befehl überprüfen:

GET _cat/indices?h=h,s,i,id,p,r,dc,dd,ss,creation.date.string&s=creation.date.string:desc

Führen Sie den folgenden Befehl aus, um einzelne Indizes zu löschen:

DELETE <index-name>

Führen Sie den folgenden Befehl aus, um mehrere Indizes zu löschen:

DELETE cwl-index-*

Verwenden Sie ISM, um wenig Speicherplatz zu verwalten

Index State Management (ISM) ermöglicht es Ihnen, Routineaufgaben zu automatisieren und sie dann auf Indizes und Indexmuster in OpenSearch Service anzuwenden. Mit ISM können Sie benutzerdefinierte Verwaltungsrichtlinien definieren, die Ihnen helfen, Probleme wie den geringen Speicherplatz zu bewältigen. Sie können beispielsweise einen Rollover-Vorgang und eine ISM-Richtlinie verwenden, um das Löschen alter Indizes auf der Grundlage von Bedingungen wie der Indexgröße zu automatisieren. Beim Rollover-Vorgang wird ein Ziel auf einen neuen Index übertragen, wenn ein vorhandener Index die definierte Bedingung erfüllt.

Das folgende Beispiel für eine ISM-Richtlinie löscht Indizes nach 50 Minuten:

PUT _plugins/_ism/policies/delete_ism_policy
{
    "policy": {
        "policy_id": "delete_ism_policy",
        "description": "A simple default policy that deletes old unused indices“,
        "last_updated_time": 1658834661281,
        "schema_version": 13,
        "error_notification": null,
        "default_state": "example_hot_state",        #Default state
        "states": [
            {
                "name": "example_hot_state",
                "actions": [],
                "transitions": [
                    {
                        "state_name": "delete",
                        "conditions": {
                            "min_index_age": “50m”   #Note that after 50 minutes index will transit from hot_state to delete state
                        }
                    }
                ]
            },
            {
                "name": "delete",                    #Indices moved to delete state
                "actions": [
                    {
                        "delete": {}
                    }
                ],
                "transitions": []
            }
        ],
        "ism_template": [
            {
                "index_patterns": [                  #This ISM policy attaches to all indices for the index pattern and you can mention your index pattern here
                    "sample*"
                ],
                "priority": 100,                     #Priority can be set from 0 to 100
                "last_updated_time": 1658834436349
            }
        ]
    }
}

Verwenden Sie den folgenden API-Aufruf, um die ISM-Richtlinie manuell an den Index anzuhängen:

POST _plugins/_ism/add/your-index-*
{
     "policy_id": "<policy_id>"
}

Weitere Informationen finden Sie unter Wie verwende ich ISM, um wenig Speicherplatz in Amazon OpenSearch Service zu verwalten?

Verwenden Sie CloudWatch-Alarme, um den Speicher zu überwachen

Sie können die CloudWatch FreeStorageSpace-Metrik verwenden, um die Menge des verfügbaren Speichers in Ihrem Cluster zu überwachen. Um Benachrichtigungen zu erhalten, wenn der Speicherplatz knapp wird, konfigurieren Sie Ihre CloudWatch-Alarme.

Weitere Informationen finden Sie unter Überwachen von OpenSearch-Cluster-Metriken mit Amazon CloudWatch.

Ähnliche Informationen

Bewährte Methoden für den Betrieb von Amazon OpenSearch Service

Wie mache ich meine Amazon OpenSearch Service-Domain fehlertoleranter?

Warum hat mein Amazon OpenSearch Service-Cluster einen roten oder gelben Status?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr