Automatisk balanseutjevning i samsvar med restriksjoner og regler som filtrering av tildeling og tvungen bevissthet, noe som fører til en mest mulig effektiv og velbalansert klynge.
MERK: Ikke forveksle omplassering av skjær, som er prosessen med å finne og flytte ikke tildelte skjær til nodene de bor i, med ombalansering. Rebalansering tar tildelte skjær og flytter dem jevnt til forskjellige noder, og hensikten er den jevne fordelingen av skjær per node.
Slik aktiverer du automatisk ombalansering
For å aktivere automatisk klyngeombalansering i Elasticsearch, kan vi bruke PUT-forespørselen to_cluster API endpoint og legge til innstillingene vi trenger.
Innstillingene som er tilgjengelige for dynamisk balansering av skjær inkluderer:
- klynge.ruting.ombalanse.muliggjøre: Kontrollerer automatisk balansering for forskjellige skjærtyper, for eksempel:
- Alle: Sett muliggjør balansering av skjær for alle indekser.
- Ingen: Deaktiverer balanseombalanse for alle indekser.
- Kopier: Bare replika av balanse er tillatt.
- Hoved: Bare primærdelte rebalansering er tillatt.
- klynge.ruting.tildeling.allow_rebalance: Angir verdien for balansering av skjær. Alternativene inkluderer:
- Alltid: Muliggjør ombalansering på ubestemt tid.
- Indices_primaries_active: Tillater ombalansering bare når alle primære skjær i klyngen er tildelt.
- Indices_all_active: Tillater ombalansering når bare skjærene i klyngen er tildelt. Dette inkluderer både primær- og replika-skjærene.
- klynge.ruting.tildeling.klynge.samtidig.ombalanse: Dette alternativet angir antall samtidige rebalanser som er tillatt i klyngen. Standardverdien er 2.
Vurder forespørselen nedenfor for å tillate automatisk balansering av skjær for klyngen.
PUT / _cluster / innstillinger"vedvarende":
"klynge.ruting.ombalanse.aktiver ":" primaries ",
"klynge.ruting.tildeling.allow_rebalance ":" alltid " ,
"klynge.ruting.tildeling.cluster_concurrent_rebalance ":" 2 "
Følgende er cURL-kommandoen:
curl -XPUT "http: // localhost: 9200 / _cluster / settings" -H 'Content-Type: application / json' -d '"persistent": "cluster.ruting.ombalanse.aktiver ":" primaries "," cluster.ruting.tildeling.allow_rebalance ":" alltid "," klynge.ruting.tildeling.cluster_concurrent_rebalance ":" 2 " 'Denne kommandoen skal returnere et svar ettersom JSON-objektet bekrefter innstillingene som er oppdatert.
“Erkjent”: sant,
"vedvarende":
"klynge":
"ruting":
"rebalanse":
"enable": "primaries"
,
"tildeling" :
"allow_rebalance": "alltid",
"cluster_concurrent_rebalance": "2"
,
"flyktig" :
Manuell indeksbalansering
Du kan også balansere en skjær manuelt for en bestemt indeks. Jeg vil ikke anbefale dette alternativet fordi Elasticsearch-standardalternativene for ombalansering er veldig effektive.
Imidlertid, hvis behovet for å utføre manuell ombalansering oppstår, kan du bruke følgende forespørsel:
“Erkjent”: sant,
"vedvarende":
"klynge":
"ruting":
"rebalanse":
"enable": "primaries"
,
"tildeling" :
"allow_rebalance": "alltid",
"cluster_concurrent_rebalance": "2"
,
"flyktig" :
CURL-kommandoen er:
curl -XPOST "http: // localhost: 9200 / _cluster / omdirigere" -H 'Content-Type: application / json' -d '"commands": ["move": "index": "kibana_sample_data_flights", "shard": 0, "from_node": "forekomst-0000000001", "til_node": "forekomst-0000000002"] 'MERK: Husk at hvis du utfører en manuell ombalanse, kan Elasticsearch flytte skjærene automatisk for å sikre best mulig balansering.
Konklusjon
Denne guiden guidet deg gjennom oppdatering og endring av innstillingene for en Elasticsearch-klynge for å aktivere automatisk balansering av skjær. Artikkelen dekket også manuell ombalansering, hvis du trenger det.