Warum dauert mein OpenSearch-Service-Domain-Upgrade so lange?

Lesedauer: 5 Minute
0

Ich versuche, meine Amazon-OpenSearch-Service-Domain zu aktualisieren, aber das Upgrade dauert lange.

Kurzbeschreibung

Wenn Sie Ihre OpenSearch-Service-Domain-Version aktualisieren, werden Konfigurationsänderungen vorgenommen, die einen Blau/Grün-Bereitstellungsprozess aktivieren. Bei einer Blau/Grün-Bereitstellung werden zwei Produktionsumgebungen ausgeführt. Eine Umgebung ist aktiv, die andere ist inaktiv. Die beiden Produktionsumgebungen werden dann entsprechend den Software-Updates umgeschaltet. Für OpenSearch Service wird bei Domain-Updates eine neue Umgebung erstellt und Benutzer werden nach Abschluss der Updates zur neuen Produktionsumgebung weitergeleitet. Dieses Verhalten minimiert die Ausfallzeiten und die ursprüngliche Umgebung wird für den Fall beibehalten, dass eine Bereitstellung erfolglos ist.

Der Upgrade-Prozess für OpenSearch Service besteht aus Prüfungen vor dem Upgrade auf Probleme und einem Cluster-Snapshot zur Wiederherstellung des Clusters, falls das Upgrade fehlschlägt.

Die folgenden Probleme können bei einem OpenSearch-Service-Upgrade auftreten:

  • Fehler bei der Prüfung vor dem Upgrade
  • Zu lange dauernder Upgrade-Prozess
  • Erfolgreiches Upgrade mit Problemen

Weitere Informationen finden Sie unter Aktualisierung von Amazon-OpenSearch-Service-Domains.

Lösung

Prüfungen vor dem Upgrade

Der Upgrade-Prozess ist irreversibel. Sie können ihn nicht pausieren oder abbrechen. Während eines Upgrades können Sie keine Konfigurationsänderungen an der Domain vornehmen. Bevor Sie mit einem Upgrade beginnen, empfiehlt es sich, die Berechtigung noch einmal zu überprüfen. Ihre Domain ist möglicherweise nicht für ein Upgrade geeignet oder kann nicht aktualisiert werden.

Informationen zu den häufigsten Upgrade-Problemen finden Sie unter Fehlerbehebung bei einem Upgrade.

Snapshot-Status überprüfen

Vor einer Migration erstellt OpenSearch Service einen automatisierten Snapshot Ihres Clusters, wenn dieser den Berechtigungstest bestanden hat. Während eines Snapshots wird im Fortschrittsstatus möglicherweise Null oder „0 %“ angezeigt. Nachdem OpenSearch Service den Snapshot erstellt hat, wird der Prozentwert aktualisiert. Die Zeit bis zum Abschluss des Snapshots variiert je nach Speicherplatz. OpenSearch Service erstellt schrittweise Snapshots. Haben sich Ihre Daten gegenüber dem vorherigen automatisierten Snapshot erheblich geändert, kann die Fertigstellung Ihres Snapshot länger dauern.

Die folgende**_snapshot**-Anfrage ruft alle aktuell laufenden Snapshots mit detaillierten Statusinformationen ab:

GET /_snapshot/_status

Weitere Informationen zu den Snapshot-APIs finden Sie unter Einen Snapshot überwachen auf der Elasticsearch-Website.

Alle Cluster-Snapshots und Knoten-IDs abrufen

Verwenden Sie den current-Parameter, um alle aktuell laufenden Snapshots in Ihrem Cluster abzurufen:

GET /_snapshot/<snapshot-repository>/_current

Führen Sie die cat nodes-API aus, um die IDs aller Datenknoten abzurufen:

GET _cat/nodes

Sie können die Knoten-IDs verwenden, um die alten oder neuen Knoten zu identifizieren. Eine steigende Anzahl von Shards in den neuen Knoten deutet auf eine reibungslose Migration hin. Schließlich werden alle Shards zu den neuen Knoten verschoben und die alten Knoten werden leer.

Den Blau/Grün-Bereitstellungsprozess überwachen

Wenn Ihr Cluster in den Blau/Grün-Bereitstellungsprozess übergeht, werden die neuen Knoten in der grünen Umgebung angezeigt. Die Shards werden dann von den alten Knoten zur blauen Umgebung migriert. Nachdem die Datenmigration oder die Neuzuweisung von Shards abgeschlossen ist, werden Ihre alten Knoten beendet.

Sie können den Blau/Grün-Bereitstellungsprozess in den dazugehörigen drei Phasen überwachen: Erstellung neuer Knoten, Datenmigration und Entfernung alter Knoten.

Phase 1: Erstellung neuer Knoten

Sie können die Knoten-Cluster-Metikc in Amazon CloudWatch überwachen, um die Anzahl der Knoten abzurufen. Oder Sie können die cat nodes-API verwenden, um alle Knoten in Ihrem Cluster aufzulisten:

GET /_cat/nodes?v&pretty

In dieser Phase des Blau/Grün-Bereitstellungsprozesses können Sie neue Knoten über die API-Ausgabe aufrufen, wenn die Anzahl der Knoten steigt. 

Phase 2: Datenmigration

Sobald die erste Phase abgeschlossen ist, beginnt die Shard-Migration. Bei der Datenmigration sinkt die Shard-Anzahl für ältere Knoten und die Shard-Anzahl für neuere Knoten steigt. Sie können die cat/allocation-API (von der OpenSearch-Website) verwenden, um zu erfahren, wie viele Shards jedem Knoten zugewiesen sind: 

GET /_cat/allocation

Führen Sie die folgende API aus, um den Status der Shards abzurufen – Started (Gestartet), Relocating (Verlagert) oder Unassigned (Nicht zugeordnet):

GET _cat/shards?h=index,shard,prirep,state,relocating.reason

Führen Sie die folgende API aus, um den Wiederherstellungsstatus (auf der Elasticsearch-Website) der Shards im Cluster zu überprüfen:

GET _cat/recovery?active_only=true

In dieser Phase kann die Fertigstellung der Datenmigration aufgrund eines überlasteten Clusters, unausgeglichener Shards oder Backend-Problemen zusätzliche Zeit in Anspruch nehmen.

Überlasteter Cluster

Stellen Sie sicher, dass Sie die Version aktualisieren, wenn der Cluster-Traffic nicht hoch ist. Bevor Sie mit dem Upgrade anfangen, prüfen Sie die CPUUtilization- und JVMMemoryPressure-Cluster-Metriken, um sicherzustellen, dass diese Metriken optimale Werte haben.

Weitere Informationen finden Sie unter Wie behebe ich Probleme mit hoher CPU-Auslastung in meinem Amazon OpenSearch Service-Cluster?

Unausgeglichene Shards

Standardmäßig nutzt OpenSearch Service eine Sharding-Strategie von 5:1, bei der jeder Index in fünf primäre Shards unterteilt ist. Legen Sie die Größe Ihrer Sharding-Strategie so fest, dass auf jeden Shard zwischen 10–30 GiB für Such-Workloads oder 30–50 GiB für Log-Workloads entfallen.

OpenSearch und Elasticsearch 7.x und höher haben ein Limit von 1.000 Shards pro Knoten. Es hat sich bewährt, nicht mehr als 25 Shards pro GiB Java-Heap zu nutzen.

Weitere Informationen finden Sie unter Wie gleiche ich die ungleichmäßige Shard-Verteilung in meinem Amazon OpenSearch Service-Cluster aus?

Probleme mit dem Backend

In dieser Phase kann die Shard-Migration aufgrund von Backend-Problemen ins Stocken geraten. Wenn bei der Migration keine Fortschritte zu verzeichnen sind und sich das Problem nicht von selbst löst, wenden Sie sich an den AWS-Support.

Phase 3: Entfernung alter Knoten

Nachdem alle Shards zu den neuen Knoten migriert wurden, werden ältere Knoten aus Ihrem Cluster entfernt. Die Knotenanzahl kehrt dann zur ursprünglichen Anzahl von Knoten zurück, die Sie konfiguriert haben. Zu diesem Zeitpunkt sind die Blau/Grün-Bereitstellungs- und Aktualisierungsprozesse abgeschlossen.

Erfolgreiches Upgrade mit Problemen

Die Meldung „upgrade succeeded with issues“ (Erfolgreiches Upgrade mit Problemen) wird angezeigt, wenn der Cluster eingehende Schreibanforderungen blockiert. Überprüfen Sie die OpenSearch-Service-Metrik ClusterIndexWritesBlocked. Ein Wert von 1 bedeutet, dass der Cluster Schreibanforderungen blockiert. Um dieses Problem zu beheben, fügen Sie mehr Speicherplatz hinzu oder skalieren Sie Ihren Cluster.

Weitere Informationen finden Sie unter Bewährte Methoden für den Betrieb von Amazon OpenSearch Service.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr