Elasticsearch en systemen voor zoeken in volledige tekst · Les

Shardtoewijzing en herverdeling

Krijg inzicht in hoe Elasticsearch bepaalt waar shards worden geplaatst, hoe allocation awareness replica's over hardware spreidt en hoe u herverdeling tijdens schaalvergroting en onderhoud beheerst.

Les 4 van 413 stappen

Shardtoewijzing en herverdeling is een gratis Elasticsearch en systemen voor zoeken in volledige tekst-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Elasticsearch en systemen voor zoeken in volledige tekst. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Elasticsearch en systemen voor zoeken in volledige tekst bevat in totaal 4 lessen.

Waar komen shards terecht?

Wanneer je een index maakt of een node toevoegt, moet Elasticsearch bepalen welke node elke shard bevat. Dit proces heet shardtoewijzing; een evenwichtige verdeling is essentieel voor een gezond cluster met goede prestaties.

Het toewijzingsproces

De master-node voert voor elke niet-toegewezen shard toewijzingsbeslissers uit. Deze controleren schijfruimte, het aantal shards, bewustzijnsregels en filters voordat ze een shard plaatsen. Als een beslisser faalt, blijft de shard UNASSIGNED.

Plaatsing van primaire shards en replica's

Een replica wordt nooit toegewezen aan dezelfde node als de primaire shard. Zo kan het verlies van één node niet beide kopieën van dezelfde gegevens uitschakelen. Met één replica overleef je elke fout van één node.

Toewijzing bekijken

Gebruik de _cat/shards-API om te zien waar elke shard zich bevindt en wat de status ervan is. STARTED betekent actief; RELOCATING betekent dat de shard wordt verplaatst.

GET _cat/shards?v

Een vastgelopen shard verklaren

Wanneer een shard niet wordt toegewezen, vertelt de _cluster/allocation/explain-API precies welke beslisser dit blokkeert en waarom. Dit is het eerste aanknopingspunt bij het opsporen van problemen in een geel of rood cluster.

GET _cluster/allocation/explain
{
  "index": "my_index",
  "shard": 0,
  "primary": false
}

Bewustzijn bij toewijzing

Bewustzijn bij toewijzing verspreidt kopieën over fysieke grenzen, zoals racks of beschikbaarheidszones. Je voorziet nodes van aangepaste kenmerken en vertelt het cluster dat het hiermee rekening moet houden.

cluster.routing.allocation.awareness.attributes: zone

Afgedwongen bewustzijn

Afgedwongen bewustzijn gaat verder: het weigert te veel replica's toe te wijzen aan overgebleven zones wanneer een zone uitvalt, zodat één zone niet alle kopieën bevat. Dit beschermt de capaciteitsplanning tijdens storingen.

cluster.routing.allocation.awareness.force.zone.values: zone1,zone2

Shardfilters

Je kunt een index met toewijzingsfilters aan specifieke nodes vastmaken of ervan uitsluiten. Dit is handig voor hot-/warm-architecturen, waarbij oudere indices naar goedkopere hardware worden gemigreerd.

PUT my_index/_settings
{
  "index.routing.allocation.require.box_type": "warm"
}

Herbalanceren

Nadat nodes zijn toegevoegd of vertrokken, herbalanceert het cluster de shards zodat de aantallen gelijkmatiger worden verdeeld. Dit gebeurt automatisch, maar genereert netwerk- en schijf-I/O. Daarom moet je dit tijdens gevoelige bewerkingen beheersen.

Toewijzing pauzeren

Schakel vóór een rolling restart de toewijzing uit, zodat het cluster geen moeite verspilt aan het verplaatsen van shards vanaf een node die je bijna weer online brengt. Schakel de toewijzing daarna weer in.

PUT _cluster/settings
{
  "transient": {
    "cluster.routing.allocation.enable": "primaries"
  }
}

Beperken van de snelheid

Beperk gelijktijdige herstelbewerkingen met cluster.routing.allocation.node_concurrent_recoveries en de bandbreedte met indices.recovery.max_bytes_per_sec, zodat herbalanceren actieve zoekopdrachten niet uithongert.

Korte controle

Toets je begrip van shardtoewijzing.

Samenvatting

Je hebt geleerd hoe shards worden geplaatst en gebalanceerd:

  • Toewijzingsbeslissers bepalen de locaties van shards; replica's vermijden de node van hun primaire shard.
  • Gebruik allocation/explain om vastgelopen shards te onderzoeken.
  • Bewustzijn bij toewijzing en afgedwongen bewustzijn verspreiden kopieën over zones.
  • Gebruik toewijzingsfilters voor hot-/warm-lagen en schakel toewijzing uit tijdens rolling restarts.
Gratis beginnen

Leer Elasticsearch en systemen voor zoeken in volledige tekst met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Shardtoewijzing en herverdeling” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Elasticsearch en systemen voor zoeken in volledige tekst, waaronder “Shardtoewijzing en herverdeling”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Elasticsearch en systemen voor zoeken in volledige tekst bevat in totaal 4 lessen.

Wat leer ik in “Shardtoewijzing en herverdeling”?

Krijg inzicht in hoe Elasticsearch bepaalt waar shards worden geplaatst, hoe allocation awareness replica's over hardware spreidt en hoe u herverdeling tijdens schaalvergroting en onderhoud beheerst. Je oefent met Elasticsearch en systemen voor zoeken in volledige tekst door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Elasticsearch en systemen voor zoeken in volledige tekst te beginnen?

Ervaring vooraf is niet nodig. Elasticsearch en systemen voor zoeken in volledige tekst op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Shardtoewijzing en herverdeling”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Elasticsearch en systemen voor zoeken in volledige tekst?

Ja. Elke les over Elasticsearch en systemen voor zoeken in volledige tekst bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Sharding en replica's uitgelegd
  2. Clusterstatus en monitoring
  3. Node-rollen en architectuur
  4. Shardtoewijzing en herverdeling
← Terug naar Elasticsearch en systemen voor zoeken in volledige tekst