Automaattinen sirpaleiden tasapainotus noudattaa rajoituksia ja sääntöjä, kuten allokointisuodatus ja pakotettu tietoisuus, mikä johtaa tehokkaimpaan ja tasapainoisempaan klusteriin.
MERKINTÄ: Älä sekoita sirpaleiden uudelleenjakoa, joka on kohdistamattomien sirpaleiden etsiminen ja siirtäminen solmuihin, joissa ne asuvat, tasapainottamalla. Tasapainottaminen vie määrätyt sirpaleet ja siirtää ne tasaisesti eri solmuihin, tarkoituksena sirpaleiden tasainen jakautuminen solmua kohden.
Automaattisen tasapainotuksen ottaminen käyttöön
Automaattisen klusterin tasapainottamisen ottamiseksi käyttöön Elasticsearchissa voimme käyttää PUT-pyynnön to_cluster -sovellusliittymän päätepistettä ja lisätä tarvittavat asetukset.
Dynaamiseen sirpaleiden tasapainottamiseen käytettävissä olevat asetukset ovat:
- klusteri.reititys.tasapainottaa.ota käyttöön: Ohjaa automaattista tasapainotusta erilaisille sirpaleille, kuten:
- Kaikki: Sarjat mahdollistavat sirpaleiden tasapainottamisen kaikille indekseille.
- Ei mitään: Poistaa sirpaleiden tasapainottamisen käytöstä kaikissa indekseissä.
- Kopiot: Vain kopio sirpaleiden tasapainottaminen on sallittua.
- Ensisijainen: Vain ensisijainen sirpaleiden tasapainotus on sallittua.
- klusteri.reititys.jakaminen.allow_rebalance: Asettaa sirpaleiden tasapainottamisen arvon. Vaihtoehtoja ovat:
- Aina: Mahdollistaa tasapainottamisen loputtomiin.
- Indeksit_primaarit_aktiiviset: Sallii tasapainottamisen vain, kun kaikki klusterin ensisijaiset sirpaleet on varattu.
- Indeksit_aktiiviset: Sallii tasapainottamisen, kun vain klusterin sirpaleet varataan. Tämä sisältää sekä ensisijaisen että kopion sirpaleet.
- klusteri.reititys.jakaminen.klusteri.samanaikainen.tasapaino: Tämä vaihtoehto määrittää klusterissa sallittujen samanaikaisten tasapainotusten määrän. Oletusarvo on 2.
Harkitse alla olevaa pyyntöä sallia sirpaleiden automaattinen tasapainottaminen klusterille.
PUT / _klusteri / asetukset"pysyvä":
"klusteri.reititys.tasapainottaa.enable ":" ensisijaiset ",
"klusteri.reititys.jakaminen.allow_rebalance ":" aina " ,
"klusteri.reititys.jakaminen.cluster_concurrent_rebalance ":" 2 "
Seuraava on cURL-komento:
kihara -XPUT "http: // localhost: 9200 / _cluster / settings" -H 'Sisältötyyppi: application / json' -d '"pysyvä": "klusteri.reititys.tasapainottaa.ota käyttöön ":" primaarit "," klusteri.reititys.jakaminen.allow_rebalance ":" always "," cluster.reititys.jakaminen.cluster_concurrent_rebalance ":" 2 " 'Tämän komennon tulisi palauttaa vastaus, kun JSON-objekti tunnistaa päivitetyt asetukset.
"Tunnustettu": totta,
"pysyvä":
"klusteri":
"reititys":
"tasapainottaa":
"enable": "ensisijaiset"
,
"allokointi":
"allow_rebalance": "aina",
"cluster_concurrent_rebalance": "2"
,
"ohimenevä":
Manuaalinen indeksitasapainotus
Voit myös tasapainottaa sirpaleen manuaalisesti tietylle indeksille. En suosittele tätä vaihtoehtoa, koska Elasticsearchin oletusarvoiset tasapainottamisvaihtoehdot ovat erittäin tehokkaita.
Jos manuaalinen tasapainottaminen on kuitenkin tarpeen, voit käyttää seuraavaa pyyntöä:
"Tunnustettu": totta,
"pysyvä":
"klusteri":
"reititys":
"tasapainottaa":
"enable": "ensisijaiset"
,
"allokointi":
"allow_rebalance": "aina",
"cluster_concurrent_rebalance": "2"
,
"ohimenevä":
CURL-komento on:
käpristyminen -XPOST "http: // localhost: 9200 / _cluster / reroute" -H 'Content-Type: application / json' -d '"command": ["move": "index": "kibana_sample_data_flights", "sirpale": 0, "from_node": "instanssi-0000000001", "to_node": "instanssi-0000000002"] 'MERKINTÄ: Muista, että jos suoritat manuaalisen tasapainotuksen, Elasticsearch voi siirtää sirpaleet automaattisesti parhaan mahdollisen tasapainon varmistamiseksi.
Johtopäätös
Tässä oppaassa opastettiin päivittämään ja muokkaamaan Elasticsearch-klusterin asetuksia, jotta sirpaleiden automaattinen tasapainottaminen olisi mahdollista. Artikkelissa käsiteltiin myös manuaalista tasapainotusta, jos tarvitset sitä.