Elastische Suche

Elasticsearch Shard Rebalancing-Tutorial

Elasticsearch Shard Rebalancing-Tutorial
Ein Elasticsearch-Shard ist eine Einheit, die es der Elasticsearch-Engine ermöglicht, Daten in einem Cluster zu verteilen. In Elasticsearch sagen wir, dass ein Cluster „ausgeglichen“ ist, wenn er auf jedem Knoten die gleiche Anzahl von Shards enthält, ohne eine große Konzentration von Shards auf einem einzelnen Knoten zu haben. Je nachdem, wie Sie Elasticsearch konfigurieren, führt es automatisch eine Neuverteilung der Shards in Ihrem Cluster durch, um die Leistung zu verbessern.

Das automatische Shard-Rebalancing entspricht Einschränkungen und Regeln wie Zuordnungsfilterung und erzwungener Awareness, was zu einem möglichst effizienten und ausgewogenen Cluster führt.

HINWEIS: Verwechseln Sie die Shard-Neuzuweisung nicht mit der Neuverteilung, bei der nicht zugewiesene Shards gefunden und auf die Knoten verschoben werden, in denen sie sich befinden. Das Rebalancing nimmt zugewiesene Shards und verschiebt sie gleichmäßig auf verschiedene Nodes, um die gleichmäßige Verteilung der Shards pro Node zu erreichen.

So aktivieren Sie die automatische Neuverteilung

Um das automatische Cluster-Rebalancing in Elasticsearch zu aktivieren, können wir den PUT-Request to_cluster API-Endpunkt verwenden und die benötigten Einstellungen hinzufügen add.

Folgende Einstellungen sind für das dynamische Shard-Rebalancing verfügbar:

Betrachten Sie die unten stehende Anfrage, um die automatische Shard-Neuverteilung für den Cluster zuzulassen.

PUT /_cluster/settings

"beständig":
"Cluster.Routing.ausgleichen.enable": "primär",
"Cluster.Routing.Zuweisung.allow_rebalance": "immer" ,
"Cluster.Routing.Zuweisung.cluster_concurrent_rebalance":"2"

Das Folgende ist der cURL-Befehl:

curl -XPUT "http://localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'   "persistent": "cluster.Routing.ausgleichen.enable": "primaries","cluster.Routing.Zuweisung.allow_rebalance":  "immer"      ,"Cluster.Routing.Zuweisung.cluster_concurrent_rebalance":"2"    '

Dieser Befehl sollte eine Antwort zurückgeben, da das JSON-Objekt die aktualisierten Einstellungen bestätigt.


„bestätigt“: wahr,
"dauerhaft" :
"cluster":
"Routing" :
"rebalance" :
"aktivieren" : "primär"
,
"Zuweisung" :
"allow_rebalance" : "immer",
"cluster_concurrent_rebalance" : "2"



,
"vorübergehend" :

Manueller Index-Neuausgleich

Sie können einen Shard auch manuell für einen bestimmten Index neu ausbalancieren. Ich würde diese Option nicht empfehlen, da die Standard-Rebalancing-Optionen von Elasticsearch sehr effizient sind.

Sollte dennoch ein manuelles Rebalancing erforderlich sein, können Sie die folgende Anfrage verwenden:


„bestätigt“: wahr,
"dauerhaft" :
"cluster":
"Routing" :
"rebalance" :
"aktivieren" : "primär"
,
"Zuweisung" :
"allow_rebalance" : "immer",
"cluster_concurrent_rebalance" : "2"



,
"vorübergehend" :

Der cURL-Befehl lautet:

curl -XPOST "http://localhost:9200/_cluster/reroute" -H 'Content-Type: application/json' -d'    "commands" : [                   "move" :           ana"     " "shard" : 0,                "from_node" : "instance-0000000001", "to_node" : "instance-0000000002"                        ]'

HINWEIS: Denken Sie daran, dass Elasticsearch bei einer manuellen Neuverteilung die Shards möglicherweise automatisch verschiebt, um die bestmögliche Neuverteilung zu gewährleisten.

Fazit

In dieser Anleitung wurden Sie durch die Aktualisierung und Änderung der Einstellungen für einen Elasticsearch-Cluster geführt, um das automatische Shard-Rebalancing zu aktivieren. Der Artikel behandelte auch das manuelle Rebalancing, wenn Sie es benötigen you.

HD-Remastered-Spiele für Linux, die noch nie zuvor eine Linux-Version hatten
Viele Spieleentwickler und -herausgeber entwickeln HD-Remaster alter Spiele, um die Lebensdauer des Franchise zu verlängern. Bitte Fans, die Kompatibi...
So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...
So zeigen Sie den FPS-Zähler in Linux-Spielen an
Linux-Gaming bekam einen großen Schub, als Valve 2012 die Linux-Unterstützung für den Steam-Client und seine Spiele ankündigte. Seitdem haben viele AA...