Automatische herbalancering van shards voldoet aan beperkingen en regels zoals toewijzingsfiltering en geforceerd bewustzijn, wat leidt tot de meest efficiënte en goed uitgebalanceerde cluster die mogelijk is.
OPMERKING: Verwar shard-hertoewijzing, wat het proces is van het vinden en verplaatsen van niet-toegewezen shards naar de knooppunten waarin ze zich bevinden, niet met het opnieuw in evenwicht brengen. Herbalancering neemt toegewezen shards en verplaatst ze gelijkmatig naar verschillende knooppunten, met als doel de gelijke verdeling van shards per knooppunt.
Automatische herbalancering inschakelen
Om automatische clusterherbalancering in Elasticsearch in te schakelen, kunnen we het PUT-verzoek to_cluster API-eindpunt gebruiken en de instellingen toevoegen die we nodig hebben.
De beschikbare instellingen voor het opnieuw in evenwicht brengen van dynamische shards zijn onder meer:
- TROS.routering.opnieuw in evenwicht brengen.inschakelen: Regelt automatische herbalancering voor verschillende shard-typen, zoals:
- Alle: Sets maken shard-herbalancering mogelijk voor alle indices.
- Geen: Schakelt shard-herbalancering uit voor alle indices.
- Replica's: Alleen replica-shard opnieuw in evenwicht brengen is toegestaan.
- primair: Alleen herbalancering van de primaire shard is toegestaan.
- TROS.routering.toewijzing.allow_rebalance: Stelt de waarde in voor herbalancering van de shard. Opties zijn onder meer:
- Altijd: Maakt herbalanceren voor onbepaalde tijd mogelijk.
- Indices_primaries_active: Staat herbalancering alleen toe wanneer alle primaire shards in het cluster zijn toegewezen.
- Indices_all_active: Staat herbalancering toe wanneer alleen de shards in het cluster zijn toegewezen. Dit omvat zowel de primaire als de replicascherven.
- TROS.routering.toewijzing.TROS.gelijktijdige.herbalanceren: Deze optie stelt het aantal gelijktijdige herbalanceringen in dat is toegestaan in het cluster. De standaardwaarde is 2.
Overweeg het onderstaande verzoek om automatische herbalancering van de shard voor het cluster toe te staan.
PUT /_cluster/instellingen"aanhoudend":
"TROS.routering.opnieuw in evenwicht brengen.inschakelen": "primairen",
"TROS.routering.toewijzing.allow_rebalance": "altijd" ,
"TROS.routering.toewijzing.cluster_concurrent_rebalance":"2"
Het volgende is het cURL-commando:
curl -XPUT "http://localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d' "persistent": "cluster.routering.opnieuw in evenwicht brengen.inschakelen": "primaries","cluster.routering.toewijzing.allow_rebalance": "altijd" ,"cluster.routering.toewijzing.cluster_concurrent_rebalance":"2" 'Deze opdracht moet een reactie retourneren als het JSON-object de instellingen bevestigt die zijn bijgewerkt.
“erkend”: waar,
"aanhoudend" :
"TROS" :
"routering" :
"herbalanceren" :
"inschakelen" : "primairen"
,
"toewijzing" :
"allow_rebalance" : "altijd",
"cluster_concurrent_rebalance" : "2"
,
"van voorbijgaande aard" :
Handmatig opnieuw in evenwicht brengen van de index
U kunt een shard ook handmatig opnieuw in evenwicht brengen voor een specifieke index. Ik zou deze optie niet aanbevelen omdat de standaard herbalanceringsopties van Elasticsearch erg efficiënt zijn.
Mocht het echter nodig zijn om handmatige herbalancering uit te voeren, dan kunt u het volgende verzoek gebruiken:
“erkend”: waar,
"aanhoudend" :
"TROS" :
"routering" :
"herbalanceren" :
"inschakelen" : "primairen"
,
"toewijzing" :
"allow_rebalance" : "altijd",
"cluster_concurrent_rebalance" : "2"
,
"van voorbijgaande aard" :
Het cURL-commando is:
curl -XPOST "http://localhost:9200/_cluster/reroute" -H 'Content-Type: application/json' -d' "commands" : [ "move" : "shard" : 0, "from_node" : "instance-0000000001", "to_node" : "instance-0000000002" ]'OPMERKING: Houd er rekening mee dat als u een handmatige herbalancering uitvoert, Elasticsearch de scherven automatisch kan verplaatsen om de best mogelijke herbalancering te garanderen.
Conclusie
Deze handleiding heeft u begeleid bij het bijwerken en wijzigen van de instellingen voor een Elasticsearch-cluster om automatische herbalancering van de shard in te schakelen. Het artikel behandelt ook handmatig herbalanceren, als je dat nodig hebt.