Elasticsearch Shard Rebalancing Tutorial

Elasticsearch Shard Rebalancing Tutorial
En Elasticsearch Shard er en enhet som lar Elasticsearch -motoren distribuere data i en klynge. I Elasticsearch sier vi at en klynge er "balansert" når den inneholder et like stort antall skjær på hver node uten å ha en stor konsentrasjon av skjær på en enkelt node. Avhengig av hvordan du konfigurerer Elasticsearch, utfører den automatisk SHARDS -rebalansering i klyngen din for å forbedre ytelsen.

Automatisk skjærbalansering samsvarer med begrensninger og regler som tildelingsfiltrering og tvangsbevissthet, noe som fører til den mest effektive og velbalanserte klyngen mulig.

MERK: Ikke forveksle Shard Reallocation, som er prosessen med å finne og bevege seg uten tilknyttede skjær til nodene de bor i, med rebalansering. Rebalansering tar tildelte skjær og flytter dem jevnt til forskjellige noder, og formålet er den like fordelingen av skjær per node.

Hvordan aktivere automatisk rebalansering

For å aktivere automatisk klyngebalansering i Elasticsearch, kan vi bruke put -forespørselen til_cluster API -endepunkt og legge til innstillingene vi trenger.

Innstillingene som er tilgjengelige for dynamisk skjær -rebalansering inkluderer:

  • klynge.ruting.rebalans.muliggjøre: Kontrollerer automatisk rebalansering for forskjellige skjærtyper, for eksempel:
  • Alle: Sett muliggjør Shard Rebalancing for alle indekser.
  • Ingen: Deaktiverer Shard Rebalance for alle indekser.
  • Replikk: Bare replika shard rebalance er tillatt.
  • Hoved: Bare primær skarpbalansering er tillatt.
  • klynge.ruting.tildeling.tillater_rebalanse: Angir verdien for Shard Rebalancing. Alternativene inkluderer:
    • Alltid: Aktiverer rebalansering på ubestemt tid.
    • Indekser_primaries_active: Tillater rebalansering bare når alle primære skjær i klyngen blir tildelt.
    • Indices_all_active: Tillater rebalansering når bare skjærene i klyngen blir tildelt. Dette inkluderer både primær- og replika -skjærene.
  • klynge.ruting.tildeling.klynge.samtidig.Rebalanse: Dette alternativet setter antall samtidige rebalanser som er tillatt i klyngen. Standardverdien er 2.

Tenk på forespørselen nedenfor for å tillate automatisk skjærbalansering for klyngen.

PUT /_CLUSTER /Innstillinger

"vedvarende":
"Cluster.ruting.rebalans.Aktiver ":" Primaries ",
"Cluster.ruting.tildeling.tillater_rebalanse ":" Alltid " ,
"Cluster.ruting.tildeling.cluster_concurrent_rebalance ":" 2 "

Følgende er Curl -kommandoen:

Curl -xput "http: // localhost: 9200/_cluster/innstillinger" -h 'innholdstype: applikasjon/json' -d '"Persistent": "Cluster.ruting.rebalans.Aktiver ":" Primaries "," Cluster.ruting.tildeling.Allow_rebalance ":" Alltid "," Cluster.ruting.tildeling.cluster_concurrent_rebalance ":" 2 " '

Denne kommandoen skal returnere et svar da JSON -objektet erkjenner innstillingene som er oppdatert.


“Erkjent”: True,
"vedvarende":
"Cluster":
"Routing":
"Rebalans":
"Aktiver": "Primærprinsipper"
,
"tildeling" :
"tillater_rebalanse": "Alltid",
"cluster_concurrent_rebalance": "2"



,
"flyktig" :

Manuell indeksbalansering

Du kan også balansere en skarp manuelt for en spesifikk indeks. Jeg vil ikke anbefale dette alternativet fordi elasticsearch standard rebalanseringsalternativer er veldig effektive.

Skulle behovet for å utføre manuell rebalansering oppstår, kan du imidlertid bruke følgende forespørsel:


“Erkjent”: True,
"vedvarende":
"Cluster":
"Routing":
"Rebalans":
"Aktiver": "Primærprinsipper"
,
"tildeling" :
"tillater_rebalanse": "Alltid",
"cluster_concurrent_rebalance": "2"



,
"flyktig" :

Curl -kommandoen er:

Curl -xpost "http: // localhost: 9200/_cluster/reroute" -h 'Content -type: applikasjon/json' -d '"kommandoer": ["flytt": "indeks": "kibana_sample_data_flights", "Shard": 0, "From_node": "Instance-0000000001", "To_node": "Instance-0000000002"] '

MERK: Husk at hvis du utfører en manuell rebalanse, kan Elasticsearch flytte skjærene automatisk for å sikre best mulig rebalanse.

Konklusjon

Denne guiden gikk deg gjennom oppdatering og modifisering av innstillingene for en Elasticsearch -klynge for å aktivere automatisk Shard Rebalancing. Artikkelen dekket også manuell rebalansering, hvis du trenger den.