Samouczek ponownego równoważenia elasticearch odłamek

Samouczek ponownego równoważenia elasticearch odłamek
Odłamek ElasticSearch to jednostka, która umożliwia silnik ElasticSearch dystrybuować dane w klastrze. W ElasticSearch mówimy, że klaster jest „zrównoważony”, gdy zawiera równą liczbę odłamków w każdym węźle bez dużego stężenia odłamków w jednym węźle. W zależności od tego, jak konfigurujesz ElasticSearch, automatycznie wykonuje odłamki przywrócenia równowagi w klastrze, aby poprawić wydajność.

Automatyczne ponowne równoważenie odłamków jest zgodne z ograniczeniami i zasadami, takimi jak filtrowanie alokacji i wymuszona świadomość, co prowadzi do najbardziej wydajnego i dobrze zrównoważonego klastra.

NOTATKA: Nie pomylaj Shard Reallocation, który jest procesem znajdowania i przemieszczania nie przypisanych odłamków do węzłów, w których mieszkają, z przywróceniem równowagi. Ponowne równoważenie przydzielone odłamki i równomiernie przesuwa je do różnych węzłów, a celem jest równy rozkład odłamków na węzeł.

Jak umożliwić automatyczne przywrócenie równowagi

Aby włączyć automatyczne ponowne równoważenie klastrów w ElasticSearch, możemy użyć punktu końcowego API Put to_cluster i dodać potrzebne ustawienia.

Ustawienia dostępne do ponownego równoważenia odłamków dynamicznych obejmują:

  • grupa.rozgromienie.Remalacja.włączać: Kontroluje automatyczne przywrócenie równowagi dla różnych typów odłamków, takich jak:
  • Wszystko: Zestawy umożliwiają ponowne równoważenie odłamków dla wszystkich wskaźników.
  • Nic: Wyłącza zrównoważenie odłamków dla wszystkich wskaźników.
  • Repliki: Dozwolona jest tylko replika odłamków.
  • Podstawowy: Dopuszczalna jest tylko ponowne równoważenie odłamków pierwotnych.
  • grupa.rozgromienie.przydział.Zezwalaj na BALLANCE: Ustawia wartość przywrócenia równowagi odłamków. Opcje obejmują:
    • Zawsze: Umożliwia przywrócenie równowagi na czas nieokreślony.
    • Indices_primary_active: Umożliwia równowagę tylko wtedy, gdy przydzielone są wszystkie podstawowe odłamki w klastrze.
    • Indices_all_active: Pozwala na równowagę, gdy przydzielone są tylko odłamki w klastrze. Obejmuje to zarówno odłamki pierwotne, jak i repliki.
  • grupa.rozgromienie.przydział.grupa.równoległy.Remalacja: Ta opcja ustawia liczbę równoległych równowagi dozwolonej w klastrze. Wartość domyślna to 2.

Rozważ poniższe żądanie, aby umożliwić automatyczne przywrócenie równowagi dla klastra.

Put /_Cluster /Ustawienia

"uporczywy":
"grupa.rozgromienie.Remalacja.Włącz „:„ Primary ”,
"grupa.rozgromienie.przydział.Zezwalaj na BALLANCE ”:„ Zawsze ” ,
"grupa.rozgromienie.przydział.klaster_concurrent_rebalance „:„ 2 ”

Poniżej znajduje się polecenie Curl:

curl -xput "http: // localhost: 9200/_cluster/settings" -h 'content -Type: Application/json' -d '"trwalent": "klaster klaster.rozgromienie.Remalacja.Włącz „:„ Primary ”,„ klaster.rozgromienie.przydział.Zezwalaj na bali „:„ zawsze ”,„ klaster.rozgromienie.przydział.klaster_concurrent_rebalance ”:„ 2 ” '

To polecenie powinno zwrócić odpowiedź, ponieważ obiekt JSON potwierdza aktualizowane ustawienia.


„Uznane”: prawda,
"uporczywy" :
„klaster”:
"rozgromienie" :
„Remalance”:
„Enable”: „Primary”
,
„Alokacja”:
„Zezwalaj na bali”: „Zawsze”,
„klaster_concurrent_rebalance”: „2”



,
„przejściowy”:

Ręcznik indeksu ręcznego

Możesz także ręcznie zrównoważyć odłamek na określony indeks. Nie polecam tej opcji, ponieważ domyślne opcje renowacji renowacji elasticearch są bardzo wydajne.

Jeśli jednak pojawiła się potrzeba wykonania ręcznego przywrócenia równowagi, możesz skorzystać z następującego żądania:


„Uznane”: prawda,
"uporczywy" :
„klaster”:
"rozgromienie" :
„Remalance”:
„Enable”: „Primary”
,
„Alokacja”:
„Zezwalaj na bali”: „Zawsze”,
„klaster_concurrent_rebalance”: „2”



,
„przejściowy”:

Polecenie Curl to:

curl -xpost "http: // localhost: 9200/_cluster/reroute" -h 'content -Type: Application/Json' -d '"polecenia „Shard”: 0, „From_node”: „Instance-0000000001”, „to_node”: „Instance-0000000002”] '

NOTATKA: Należy pamiętać, że jeśli wykonasz ręczne przywrócenie równowagi, ElasticSearch może automatycznie poruszyć odłamki, aby zapewnić najlepszą możliwą równowagę.

Wniosek

Ten przewodnik poprowadził Cię przez aktualizację i modyfikowanie ustawień klastra ElasticSearch, aby umożliwić automatyczne przywrócenie równowagi. Artykuł obejmował również ręczne przywrócenie równowagi, jeśli go potrzebujesz.