Automatické vyváženie zlomkov zodpovedá obmedzeniam a pravidlám, ako je filtrovanie pridelenia a vynútené vedomie, čo vedie k čo najefektívnejšiemu a najvyváženejšiemu klastru.
POZNÁMKA: Nezamieňajte prerozdelenie črepov, čo je proces hľadania a presunu nepriradených zlomkov do uzlov, v ktorých sa nachádzajú, s vyvážením. Vyváženie vezme priradené črepy a presunie ich rovnomerne do rôznych uzlov. Účelom je rovnaké rozdelenie črepov na každý uzol.
Ako povoliť automatické vyváženie
Aby sme umožnili automatické vyváženie klastrov v Elasticsearch, môžeme použiť požiadavku PUT na koncový bod API__cluster API a pridať potrebné nastavenie.
Medzi nastavenia dostupné pre dynamické vyváženie zlomkov patrí:
- zhluk.smerovanie.opätovné vyváženie.povoliť: Riadi automatické vyváženie pre rôzne typy črepov, napríklad:
- Všetky: Sady umožňujú vyváženie zlomkov pre všetky indexy.
- Žiadne: Zakáže vyváženie zlomkov pre všetky indexy.
- Repliky: Povolené je iba opätovné vyváženie úlomkov repliky.
- Primárny: Povolené je iba primárne vyváženie črepu.
- zhluk.smerovanie.pridelenie.allow_rebalance: Nastavuje hodnotu pre vyváženie zlomkov. Možnosti zahŕňajú:
- Vždy: Umožňuje vyvažovanie na neurčito.
- Indices_primaries_active: Umožňuje opätovné vyváženie, iba ak sú pridelené všetky primárne zlomky v klastri.
- Indices_all_active: Umožňuje opätovné vyváženie, keď sú alokované iba zlomky v klastri. Patria sem primárne aj replikované fragmenty.
- zhluk.smerovanie.pridelenie.zhluk.súbežne.vyváženie: Táto voľba nastavuje počet súbežných rebalancov povolených v klastri. Predvolená hodnota je 2.
Zvážte nižšie uvedenú požiadavku na povolenie automatického vyváženia zlomkov pre klaster.
PUT / _cluster / nastavenia"vytrvalý":
„zhluk.smerovanie.opätovné vyváženie.povoliť „:“ primárky ”,
„zhluk.smerovanie.pridelenie.allow_rebalance ":" always " ,
„zhluk.smerovanie.pridelenie.cluster_concurrent_rebalance ":" 2 "
Nasleduje príkaz cURL:
curl -XPUT "http: // localhost: 9200 / _cluster / settings" -H 'Content-Type: application / json' -d '"persistent": "klaster.smerovanie.opätovné vyváženie.povoliť ":" primárne "," klaster.smerovanie.pridelenie.allow_rebalance ":" always "," cluster.smerovanie.pridelenie.cluster_concurrent_rebalance ":" 2 " 'Tento príkaz by mal vrátiť odpoveď, keď objekt JSON potvrdí nastavenia, ktoré sú aktualizované.
„Potvrdené“: pravda,
"vytrvalý":
"cluster":
"routing":
"rebalance":
"enable": "primárky"
,
"pridelenie" :
"allow_rebalance": "always",
"cluster_concurrent_rebalance": "2"
,
"prechodný":
Ručné vyváženie indexu
Môžete tiež vyvážiť zlomok ručne pre konkrétny index. Neodporúčal by som túto možnosť, pretože predvolené možnosti vyváženia Elasticsearch sú veľmi efektívne.
Ak by však vznikla potreba vykonať ručné vyváženie, môžete použiť nasledujúcu požiadavku:
„Potvrdené“: pravda,
"vytrvalý":
"cluster":
"routing":
"rebalance":
"enable": "primárky"
,
"pridelenie" :
"allow_rebalance": "always",
"cluster_concurrent_rebalance": "2"
,
"prechodný":
Príkaz cURL je:
curl -XPOST "http: // localhost: 9200 / _cluster / reroute" -H 'Content-Type: application / json' -d '"príkazy": ["move": "index": "kibana_sample_data_flights", "shard": 0, "from_node": "instance-0000000001", "to_node": "instance-0000000002"] ''POZNÁMKA: Majte na pamäti, že ak vykonáte ručné vyváženie, môže Elasticsearch automaticky presunúť črepy, aby sa zabezpečilo čo najlepšie vyváženie.
Záver
Táto príručka vás prevedie aktualizáciou a úpravou nastavení pre klaster Elasticsearch, aby ste umožnili automatické vyváženie zlomkov. Tento článok sa zaoberal aj manuálnym vyvážením, ak to požadujete.