Elasticsearch-Index Anzahl der Replikate

Erläuterung der Konfiguration von number_of_replicas, ihrer Auswirkungen und bewährter Vorgehensweise.

Neu bei Elasticsearch? Nehmen Sie an unserem Webinar „Erste Schritte mit Elasticsearch“ teil. Sie können jetzt auch eine kostenlose Cloud-Testversion starten oder Elastic auf Ihrem Rechner testen.

Elasticsearch ist als verteiltes System konzipiert, das große Datenmengen verarbeiten und eine hohe Verfügbarkeit gewährleisten kann. Eine der wichtigsten Funktionen, die dies ermöglichen, ist das Konzept der Indexreplikation, das durch die Einstellung number_of_replicas gesteuert wird. Dieser Artikel befasst sich detailliert mit dieser Einstellung, ihren Auswirkungen und wie man sie richtig konfiguriert.

Die Rolle von Replikaten in Elasticsearch

In Elasticsearch ist ein Index eine Sammlung von Dokumenten, die auf mehrere primäre Shards verteilt sind. Jeder primäre Shard ist ein in sich geschlossener Apache Lucene-Index, und die Dokumente innerhalb eines Index werden auf alle primären Shards verteilt. Um eine hohe Verfügbarkeit und Datenredundanz zu gewährleisten, ermöglicht Elasticsearch, dass jeder Shard eine oder mehrere Kopien, sogenannte Replikate, besitzt.

Die Einstellung number_of_replicas steuert die Anzahl der Replikat-Shards (Kopien), die Elasticsearch für jeden primären Shard in einem Index erstellt. Standardmäßig erstellt Elasticsearch für jeden primären Shard eine Replik, dies kann jedoch je nach den Anforderungen Ihres Systems geändert werden.

Konfigurieren der Anzahl der Replikate

Die Einstellung number_of_replicas kann bei der Indexerstellung konfiguriert oder später aktualisiert werden. So können Sie dies bei der Indexerstellung festlegen:

In diesem Beispiel erstellt Elasticsearch zwei Replikate für jeden primären Shard im Index my_index .

Um die number_of_replicas -Einstellung für einen bestehenden Index zu aktualisieren, können Sie die _settings -API verwenden:

Dieser Befehl aktualisiert den Index my_index , sodass für jeden primären Shard drei Replikate vorhanden sind.

Auswirkungen der Einstellung number_of_replicas

Die Einstellung number_of_replicas hat einen erheblichen Einfluss auf die Leistungsfähigkeit und Stabilität Ihres Elasticsearch- Clusters. Hier einige wichtige Punkte, die Sie beachten sollten:

  1. Datenredundanz und Verfügbarkeit: Durch die Erhöhung von number_of_replicas wird die Verfügbarkeit Ihrer Daten verbessert, indem mehr Kopien jedes Shards erstellt werden. Wenn ein Knoten ausfällt, kann Elasticsearch weiterhin Daten von den Replikat-Shards auf den verbleibenden Knoten bereitstellen.
  2. Suchleistung: Replikat-Shards können Leseanfragen bedienen, daher kann eine größere Anzahl von Replikaten die Suchleistung verbessern, indem die Last auf mehr Shards verteilt wird.
[@portabletext/react] Unknown block type "block", specify a component for it in the `components.types` prop
  1. Speicherbedarf: Mehr Replikate bedeuten mehr Speicherplatz. Sie sollten sicherstellen, dass Ihr Cluster über genügend Kapazität verfügt, um die zusätzlichen Replikate zu speichern.
  2. Ausfallsicherheit bei Knoten: Der number_of_replicas sollte unter Berücksichtigung der Anzahl der Knoten in Ihrem Cluster festgelegt werden. Wenn number_of_replicas gleich oder größer als die Anzahl der Knoten ist, kann Ihr Cluster den Ausfall mehrerer Knoten ohne Datenverlust tolerieren.

Bewährte Vorgehensweisen zum Festlegen der Anzahl der Replikate

Die optimale Einstellung number_of_replicas hängt von den spezifischen Anforderungen Ihres Systems ab. Hier sind jedoch einige allgemeine Best Practices:

  • Bei einem Cluster mit nur einem Knoten sollte number_of_replicas auf 0 gesetzt werden, da keine weiteren Knoten vorhanden sind, die Replikate aufnehmen könnten.
  • Bei einem Multi-Node-Cluster sollte number_of_replicas mindestens auf 1 gesetzt werden, um Datenredundanz und hohe Verfügbarkeit zu gewährleisten.
  • Wenn die Suchleistung Priorität hat, sollten Sie die Anzahl der Einträge number_of_replicas erhöhen. Man sollte jedoch den Zielkonflikt zwischen Schreibleistung und Speicherbedarf berücksichtigen.
  • Stellen Sie stets sicher, dass Ihr Cluster über ausreichend Kapazität zur Speicherung der zusätzlichen Replikate verfügt.

Zugehörige Inhalte

Sind Sie bereit, hochmoderne Sucherlebnisse zu schaffen?

Eine ausreichend fortgeschrittene Suche kann nicht durch die Bemühungen einer einzelnen Person erreicht werden. Elasticsearch wird von Datenwissenschaftlern, ML-Ops-Experten, Ingenieuren und vielen anderen unterstützt, die genauso leidenschaftlich an der Suche interessiert sind wie Sie. Lasst uns in Kontakt treten und zusammenarbeiten, um das magische Sucherlebnis zu schaffen, das Ihnen die gewünschten Ergebnisse liefert.

Probieren Sie es selbst aus