Direkt zum Inhalt

Wie stelle ich die ungleichmäßige Shard-Verteilung in meinem OpenSearch-Service-Cluster wieder her?

Lesedauer: 4 Minute
0

Der Speicherplatz in meiner Amazon OpenSearch Service-Domain ist ungleichmäßig auf die Knoten verteilt. Infolgedessen ist die Festplattenauslastung stark verzerrt.

Kurzbeschreibung

Die Festplattenauslastung kann aus den folgenden Gründen stark verzerrt sein:

  • Ungleiche Shard-Größen in einem Cluster. OpenSearch Service verteilt die Anzahl der Shards gleichmäßig auf die Knoten, aber unterschiedliche Shard-Größen benötigen unterschiedlich viel Speicherplatz.
  • Verfügbarer Speicherplatz auf einem Knoten. Weitere Informationen findest du auf der Elastic-Website unter Einstellungen für die festplattenbasierte Shard-Zuweisung.
  • Falsche Strategie zur Shard-Zuweisung.

Um die Shard-Zuweisung im OpenSearch Service-Cluster neu zu gewichten, führe eine oder mehrere der Lösungen durch.

Lösung

Shard-Zuweisung, die Shard-Größen und die Index-Sharding-Strategie überprüfen

Führe die folgende API aus, um die Anzahl der Shards zu überprüfen, die jedem Knoten zugewiesen sind und den auf jedem Knoten verwendeten Speicherplatz:

GET _cat/allocation?v

Führe die folgende API aus, um die Shards zu überprüfen, die jedem Knoten zugewiesen sind und die Größe jedes Shards:

GET _cat/shards?v

Hinweis: Die vorherige API-Ausgabe zeigt, ob die Größe der Shards für verschiedene Indizes variieren kann.

Die ungleichmäßige Sharding-Strategie für Indizes kann zu Datenverzerrungen führen. Führe die folgende API aus, um die Sharding-Strategie für Indizes zu überprüfen:

GET _cat/indices?v

Sicherstellen, dass die Shards in allen Indizes gleich groß sind

Wenn die Indexgröße erheblich variiert, verwende die Rollover-API, um einen neuen Index zu erstellen, wenn bestimmte Indexgrößen erreicht sind. Weitere Informationen findest du auf der Elastic-Website unter Zu einem neuen Index wechseln. Oder du kannst das Index State Management (ISM) verwenden, um einen neuen Index für OpenSearch Service-Versionen 7.1 und höher zu erstellen. Weitere Informationen zur Verwendung von ISM zum Wechsel eines Alias findest du unter Rollover auf der Open Distro-Website.

Shard-Größen zwischen 10 GB und 50 GB für eine bessere Leistung beibehalten

Wenn du eine große Klasse mit Instances hast, verwende die Petabyte-Skala für OpenSearch Service, um die Shard-Größen zu bestimmen. Beispielsweise kann eine OpenSearch Service-Domain mit mehreren i3.16xlarge.search-Instances Shard-Größen von bis zu 100 GB unterstützen, da mehr Ressourcen verfügbar sind. Weitere Informationen zur Sharding-Strategie findest du unter Auswahl der Anzahl der Shards.

Dem OpenSearch Service-Cluster weitere Datrenknoten hinzufügen

Wenn der OpenSearch Service-Cluster eine hohe Festplattenauslastung hat, füge dem Cluster weitere Datenknoten hinzu. Durch das Hinzufügen von Datenknoten werden auch mehr Ressourcen hinzugefügt, um die Cluster-Leistung zu verbessern.

Hinweis: OpenSearch Service gewichtet den Cluster nicht automatisch neu, wenn nicht genügend Speicherplatz verfügbar ist. Wenn einem Datenknoten der ungenutzte Speicherplatz ausgeht, blockiert der Cluster daher alle Schreibvorgänge. Weitere Informationen zu Festplattenspeicherverwaltung findest du unter Wie behebe ich geringen Speicherplatz in meiner OpenSearch Service-Domain?

Sharding-Strategie aktualisieren

Standardmäßig nutzt OpenSearch Service eine Sharding-Strategie von 5:1, bei der jeder Index in fünf primäre Shards unterteilt ist. Innerhalb jedes Indizes hat jeder primäre Shard zudem ein Replikat. OpenSearch Service weist primäre Shards und Replikat-Shards automatisch separaten Datenknoten zu und stellt sicher, dass im Falle eines Fehlers ein Backup vorhanden ist.

Um das Standardverhalten von OpenSearch Service zu ändern, entwirf die Indizes so, dass die Shards gleichmäßig nach Größe verteilt werden.

Verwende für bestehende Indizes die API für die Neuindizierung, um die Anzahl der primären Shards zu ändern. Weitere Informationen findest du auf der Elastic-Website unter Dokumente neu indizieren. Die API für die Neuindizierung kann kleinere Indizes zu einem größeren Index zusammenführen oder den größeren Index aufteilen. Wenn der größere Index in mehrere primäre Shards aufgeteilt wird, verringern sich die Shard-Größen.

Verwende für neue Indizes die Indexvorlagen-API, um die Anzahl der Primär- und Replikat-Shards zu definieren. Weitere Informationen findest du unter Indexvorlage erstellen oder aktualisieren auf der Elastic-Website.

Aktualisiere dann die Indexeinstellungen für die Shards. Weitere Informationen findest du auf der Elastic-Website unter Indexeinstellungen aktualisieren.

Alte oder unbenutzte Indizes löschen, um Speicherplatz freizugeben

OpenSearch Service- oder Elasticsearch-Version 6.8 oder höher unterstützen ISM. Mit ISM kannst du benutzerdefinierte Verwaltungsrichtlinien definieren, sodass alte oder ungenutzte Indizes nach einer festgelegten Dauer gelöscht werden.

Ähnliche Informationen

Berechnung des Speicheranforderungen

Beginne mit Amazon Elasticsearch Service: Wie viele Shards benötige ich?

AWS OFFICIALAktualisiert vor einem Jahr