Elasticsearch ja kokotekstihaun järjestelmät · Oppitunti

Shardien sijoittelu ja tasapainotus

Ymmärrätte, miten Elasticsearch päättää shardien sijainnit, miten allocation awareness jakaa replikoita laitteiston kesken ja miten tasapainotusta hallitaan skaalauksen ja ylläpidon aikana.

Oppitunti 4/413 vaihetta

Shardien sijoittelu ja tasapainotus on ilmainen Elasticsearch ja kokotekstihaun järjestelmät-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Elasticsearch ja kokotekstihaun järjestelmät-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Elasticsearch ja kokotekstihaun järjestelmät-kurssilla on yhteensä 4 oppituntia.

Mihin shardit sijoitetaan?

Kun luotte indeksin tai lisäätte solmun, Elasticsearchin on päätettävä, mikä solmu sisältää kunkin shardin. Tätä prosessia kutsutaan shardien allokoinniksi, ja sen tasapainottaminen on terveen ja suorituskykyisen klusterin edellytys.

Allokointiprosessi

Master-solmu suorittaa allokointipäätösten tarkistukset jokaiselle allokoimattomalle shardille. Ennen shardin sijoittamista tarkistetaan levytila, shardien määrä, awareness-säännöt ja suodattimet. Jos jokin tarkistus epäonnistuu, shard jää tilaan UNASSIGNED.

Primary- ja replica-shardien sijoittaminen

Replica-shardia ei koskaan allokoida samaan solmuun primary-shardin kanssa. Näin yhden solmun menettäminen ei voi viedä molempia saman datan kopioita. Yhden replican avulla selviätte mistä tahansa yhden solmun häiriöstä.

Allokoinnin seuranta

Näette _cat/shards-rajapinnan avulla, missä kukin shard sijaitsee ja mikä sen tila on. STARTED tarkoittaa aktiivista ja RELOCATING siirtyvää shardia.

GET _cat/shards?v

Jumiutuneen shardin selvittäminen

Kun shardia ei allokoida, _cluster/allocation/explain-rajapinta kertoo tarkasti, mikä allokointipäätöksen tarkistus esti sen ja miksi. Se on ensimmäinen paikka keltaisen tai punaisen klusterin vianmääritykseen.

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

Allokoinnin awareness

Allokoinnin awareness hajauttaa kopiot fyysisten rajojen, kuten räkkien tai saatavuusalueiden, yli. Merkitsette solmut mukautetuilla määritteillä ja ilmoitatte klusterille, että sen tulee huomioida ne.

cluster.routing.allocation.awareness.attributes: zone

Pakotettu awareness

Pakotettu awareness menee pidemmälle: se estää replicoiden liiallisen allokoinnin jäljellä oleville alueille, jos jokin alue poistuu käytöstä, jolloin kaikki kopiot eivät päädy yhdelle alueelle. Tämä auttaa kapasiteetin suunnittelussa häiriötilanteissa.

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

Shardien suodatus

Voitte kiinnittää indeksin tiettyihin solmuihin tai sulkea sen pois niistä allokointisuodattimilla. Tämä on hyödyllistä hot/warm-arkkitehtuureissa, joissa vanhemmat indeksit siirretään edullisemmalle laitteistolle.

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

Tasapainotus

Kun solmuja liittyy klusteriin tai poistuu siitä, klusteri tasapainottaa shardien määrät. Tämä tapahtuu automaattisesti, mutta aiheuttaa verkkoliikennettä ja levy-I/O:ta, joten sitä tulisi rajoittaa herkkien operaatioiden aikana.

Allokoinnin keskeyttäminen

Poistakaa allokointi käytöstä ennen vaiheittaista uudelleenkäynnistystä, jotta klusteri ei käytä resursseja shardien siirtämiseen solmusta, jonka aiotte käynnistää pian uudelleen. Ottakaa allokointi jälleen käyttöön sen jälkeen.

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

Rajoittaminen

Rajoittakaa samanaikaisten palautusten määrää asetuksella cluster.routing.allocation.node_concurrent_recoveries ja kaistanleveyttä asetuksella indices.recovery.max_bytes_per_sec, jotta tasapainotus ei vie resursseja aktiivisilta kyselyiltä.

Pikatarkistus

Testatkaa, miten hyvin ymmärrätte shardien allokoinnin.

Kertaus

Opitte, miten shardit sijoitetaan ja tasapainotetaan:

  • Allokointipäätösten tarkistukset valitsevat shardien sijainnit; replicat eivät sijoitu primary-shardin solmuun.
  • Selvittäkää jumiutuneet shardit komennolla allocation/explain.
  • Allokoinnin awareness ja pakotettu awareness hajauttavat kopiot eri saatavuusalueille.
  • Käyttäkää allokointisuodattimia hot/warm-tasoille ja poistakaa allokointi käytöstä vaiheittaisten uudelleenkäynnistysten ajaksi.
Aloita maksutta

Opi Elasticsearch ja kokotekstihaun järjestelmät tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Shardien sijoittelu ja tasapainotus” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Elasticsearch ja kokotekstihaun järjestelmät-oppimispolun 3 oppituntia, myös oppitunnin “Shardien sijoittelu ja tasapainotus”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Elasticsearch ja kokotekstihaun järjestelmät-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Shardien sijoittelu ja tasapainotus”?

Ymmärrätte, miten Elasticsearch päättää shardien sijainnit, miten allocation awareness jakaa replikoita laitteiston kesken ja miten tasapainotusta hallitaan skaalauksen ja ylläpidon aikana. Harjoittelet Elasticsearch ja kokotekstihaun järjestelmät-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Elasticsearch ja kokotekstihaun järjestelmät-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Elasticsearch ja kokotekstihaun järjestelmät-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Shardien sijoittelu ja tasapainotus”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Elasticsearch ja kokotekstihaun järjestelmät-oppitunnilla?

Kyllä. Jokainen Elasticsearch ja kokotekstihaun järjestelmät-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Sharding ja replikat
  2. Klusterin kunto ja valvonta
  3. Solmujen roolit ja arkkitehtuuri
  4. Shardien sijoittelu ja tasapainotus
← Takaisin: Elasticsearch ja kokotekstihaun järjestelmät