Automatické vyvážení horizontálních oddílů odpovídá omezením a pravidlům, jako je filtrování alokace a vynucené povědomí, což vede k nejúčinnějšímu a nejvyváženějšímu možnému klastru.
POZNÁMKA: Nezaměňujte realokaci horizontálních oddílů, což je proces hledání a přesunu nepřiřazených horizontálních oddílů do uzlů, ve kterých se nacházejí, s vyvážením. Vyvážení přebírá přiřazené střepy a rovnoměrně je přesouvá do různých uzlů, přičemž účelem je stejné rozdělení střepů na uzel.
Jak povolit automatické vyvážení
Abychom povolili automatické vyvážení klastrů v Elasticsearch, můžeme použít požadavek PUT na koncový bod API API a přidat nastavení, které potřebujeme.
K dispozici jsou nastavení pro dynamické vyvážení horizontálních oddílů:
- shluk.směrování.rebalance.umožnit: Řídí automatické vyvážení pro různé typy střepů, například:
- Všechno: Sady umožňují vyvážení horizontálních oddílů pro všechny indexy.
- Žádný: Zakáže vyvážení horizontálních oddílů pro všechny indexy.
- Repliky: Je povoleno pouze vyvážení střepů repliky.
- Hlavní: Je povoleno pouze primární vyvážení střepů.
- shluk.směrování.přidělení.allow_rebalance: Nastaví hodnotu pro vyvážení horizontálních oddílů. Možnosti zahrnují:
- Vždy: Umožňuje vyvažování na neurčito.
- Indices_primaries_active: Umožňuje vyvážení pouze v případě, že jsou přiděleny všechny primární fragmenty v clusteru.
- Indices_all_active: Umožňuje rebalancování, když jsou přiděleny pouze střepy v clusteru. To zahrnuje primární i replikační fragmenty.
- shluk.směrování.přidělení.shluk.souběžně.rebalance: Tato možnost nastavuje počet souběžných rebalancí povolených v klastru. Výchozí hodnota je 2.
Zvažte níže uvedený požadavek a povolte automatické vyvážení horizontálních oddílů pro cluster.
PUT / _cluster / nastavení"persistent":
"shluk.směrování.rebalance.povolit ":" primárky ",
"shluk.směrování.přidělení.allow_rebalance ":" vždy " ,
"shluk.směrování.přidělení.cluster_concurrent_rebalance ":" 2 "
Následuje příkaz cURL:
curl -XPUT "http: // localhost: 9200 / _cluster / settings" -H 'Content-Type: application / json' -d '"persistent": "cluster.směrování.rebalance.povolit ":" primárky "," klastr.směrování.přidělení.allow_rebalance ":" always "," cluster.směrování.přidělení.cluster_concurrent_rebalance ":" 2 " 'Tento příkaz by měl vrátit odpověď, protože objekt JSON potvrzuje nastavení, která jsou aktualizována.
„Potvrzeno“: pravda,
"persistent":
"cluster":
"routing":
"rebalance":
"enable": "primárky"
,
"alokace":
"allow_rebalance": "always",
"cluster_concurrent_rebalance": "2"
,
"přechodný":
Ruční vyvážení indexu
Můžete také znovu vyvážit střep ručně pro konkrétní index. Tuto možnost bych nedoporučoval, protože výchozí možnosti vyvážení Elasticsearch jsou velmi efektivní.
Pokud však nastane potřeba provést manuální vyvážení, můžete použít následující požadavek:
„Potvrzeno“: pravda,
"persistent":
"cluster":
"routing":
"rebalance":
"enable": "primárky"
,
"alokace":
"allow_rebalance": "always",
"cluster_concurrent_rebalance": "2"
,
"přechodný":
Příkaz cURL je:
curl -XPOST "http: // localhost: 9200 / _cluster / reroute" -H 'Content-Type: application / json' -d '"příkazy": ["move": "index": "kibana_sample_data_flights", "shard": 0, "from_node": "instance-0000000001", "to_node": "instance-0000000002"] ''POZNÁMKA: Mějte na paměti, že pokud provedete ruční vyvážení, může Elasticsearch automaticky pohybovat střepy, aby zajistil nejlepší možné vyvážení.
Závěr
Tato příručka vás provedla aktualizací a úpravou nastavení pro klastr Elasticsearch, aby se umožnilo automatické vyvážení horizontálních oddílů. Tento článek také zahrnoval ruční vyvážení, pokud to požadujete.