Automatisk afbalancering af skår i overensstemmelse med begrænsninger og regler som tildelingsfiltrering og tvungen bevidsthed, hvilket fører til den mest effektive og velafbalancerede klynge muligt.
BEMÆRK: Forveks ikke omdelingen af skår, hvilket er processen med at finde og flytte ikke-tildelte skår til de knudepunkter, hvor de befinder sig, med genbalancering. Genbalancering tager tildelte skår og flytter dem jævnt til forskellige noder, hvis formål er den lige fordeling af skår pr. Node.
Sådan aktiveres automatisk rebalansering
For at aktivere automatisk klyngeombalancering i Elasticsearch kan vi bruge PUT-anmodningen til_cluster API-slutpunkt og tilføje de indstillinger, vi har brug for.
De tilgængelige indstillinger til dynamisk shard-genbalancering inkluderer:
- klynge.routing.genbalancere.aktivere: Styrer automatisk genbalancering for forskellige skårtyper, såsom:
- Alle: Sæt muliggør genbalancering af shard for alle indekser.
- Ingen: Deaktiverer genbalance i skår for alle indekser.
- Kopier: Kun replika-rebalance er tilladt.
- Primær: Det er kun tilladt at genopbalancere primærdel.
- klynge.routing.fordeling.tillad_balance: Indstiller værdien for shard-genbalancering. Valgmuligheder inkluderer:
- Altid: Aktiverer genbalancering på ubestemt tid.
- Indices_primaries_active: Tillader kun ombalancering, når alle primære skår i klyngen er tildelt.
- Indices_all_active: Tillader genbalancering, når kun skårene i klyngen er tildelt. Dette inkluderer både de primære og replika-skårene.
- klynge.routing.fordeling.klynge.samtidig.rebalance: Denne indstilling indstiller antallet af samtidige genbalancer, der er tilladt i klyngen. Standardværdien er 2.
Overvej anmodningen nedenfor for at tillade automatisk ombalancering af skår i klyngen.
PUT / _cluster / indstillinger"vedholdende":
"klynge.routing.genbalancere.aktiver ":" primaries ",
"klynge.routing.fordeling.allow_rebalance ":" altid " ,
"klynge.routing.fordeling.cluster_concurrent_rebalance ":" 2 "
Følgende er cURL-kommandoen:
krølle -XPUT "http: // localhost: 9200 / _cluster / indstillinger" -H 'Content-Type: application / json' -d '"persistent": "cluster.routing.genbalancere.aktiver ":" primaries "," cluster.routing.fordeling.allow_rebalance ":" altid "," klynge.routing.fordeling.cluster_concurrent_rebalance ":" 2 " 'Denne kommando skal returnere et svar, da JSON-objektet anerkender de indstillinger, der opdateres.
“Anerkendt”: sandt,
"vedholdende" :
"klynge":
"routing":
"rebalance":
"enable": "primaries"
,
"tildeling":
"allow_rebalance": "altid",
"cluster_concurrent_rebalance": "2"
,
"forbigående":
Manuel indeksbalancering
Du kan også genbalancere en skår manuelt for et bestemt indeks. Jeg vil ikke anbefale denne mulighed, fordi Elasticsearch-standardindstillingerne for genbalancering er meget effektive.
Men hvis behovet for manuel genbalancering opstår, kan du bruge følgende anmodning:
“Anerkendt”: sandt,
"vedholdende" :
"klynge":
"routing":
"rebalance":
"enable": "primaries"
,
"tildeling":
"allow_rebalance": "altid",
"cluster_concurrent_rebalance": "2"
,
"forbigående":
CURL-kommandoen er:
krølle -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" 'BEMÆRK: Husk, at hvis du udfører en manuel genbalance, kan Elasticsearch muligvis flytte skårene automatisk for at sikre den bedst mulige genbalance.
Konklusion
Denne guide guidede dig gennem opdatering og ændring af indstillingerne for en Elasticsearch-klynge for at muliggøre automatisk genbalancering af skår. Artiklen omfattede også manuel genbalancering, hvis du har brug for det.