Samodejno ponovno uravnoteženje drobcev ustreza omejitvam in pravilom, kot sta filtriranje dodeljevanja in prisilna ozaveščenost, kar vodi do najučinkovitejše in uravnotežene skupine.
OPOMBA: Ne zamenjujte prerazporeditve drobcev, ki je postopek iskanja in premikanja nedodeljenih drobcev na vozlišča, v katerih se nahajajo, s ponovnim uravnoteženjem. Rebalans vzame dodeljene drobce in jih enakomerno premakne na različna vozlišča, namen pa je enakomerna porazdelitev drobcev na vozlišče.
Kako omogočiti samodejno ponovno uravnoteženje
Če želimo omogočiti samodejno ponovno uravnoteženje gruče v programu Elasticsearch, lahko uporabimo zahtevo PUT to_cluster API in dodamo nastavitve, ki jih potrebujemo.
Nastavitve za dinamično ponovno uravnoteženje drobcev vključujejo:
- grozd.usmerjanje.ponovno uravnoteženje.omogoči: Nadzira samodejno ponovno uravnoteženje za različne vrste drobcev, kot so:
- Vsi: Nabori omogočajo ponovno uravnoteženje drobcev za vse indekse.
- Brez: Onemogoči ponovno uravnoteženje drobcev za vse indekse.
- Replike: Dovoljeno je samo ponovno uravnoteženje drobcev replik.
- Primarno: Dovoljeno je samo ponovno uravnoteženje drobcev.
- grozd.usmerjanje.dodelitev.allow_rebalance: Nastavi vrednost za ponovno uravnoteženje drobcev. Možnosti vključujejo:
- Nenehno: Omogoča ponovno uravnoteženje za nedoločen čas.
- Indeksi_primarni_aktivni: Omogoča ponovno uravnoteženje le, ko so dodeljene vse primarne drobce v gruči.
- Indeksi_vse_aktivni: Omogoča ponovno uravnoteženje, ko so v gruči dodeljene samo drobce. To vključuje tako primarne kot replike.
- grozd.usmerjanje.dodelitev.grozd.sočasno.rebalans: Ta možnost nastavi število sočasnih ponovnih ravnotežij, dovoljenih v gruči. Privzeta vrednost je 2.
Upoštevajte spodnjo zahtevo, da omogočite samodejno ponovno uravnoteženje drobcev za gručo.
PUT / _cluster / nastavitve"vztrajno":
"grozd.usmerjanje.ponovno uravnoteženje.omogoči ":" primarne ",
"grozd.usmerjanje.dodelitev.allow_rebalance ":" vedno " ,
"grozd.usmerjanje.dodelitev.cluster_concurrent_rebalance ":" 2 "
Sledi ukaz cURL:
curl -XPUT "http: // localhost: 9200 / _cluster / settings" -H 'Content-Type: application / json' -d '"persistent": "gruča.usmerjanje.ponovno uravnoteženje.omogoči ":" primaries "," gruča.usmerjanje.dodelitev.allow_rebalance ":" vedno "," grozd.usmerjanje.dodelitev.cluster_concurrent_rebalance ":" 2 " 'Ta ukaz mora vrniti odgovor, saj objekt JSON potrdi posodobitve nastavitev.
"Priznano": res,
"vztrajno":
"grozd":
"usmerjanje":
"rebalans":
"enable": "primaries"
,
"dodelitev":
"allow_rebalance": "vedno",
"cluster_concurrent_rebalance": "2"
,
"prehodno":
Ročno ponovno uravnoteženje indeksa
Odrezek lahko tudi ročno uravnotežite za določen indeks. Te možnosti ne bi priporočal, ker so privzete možnosti ponovnega uravnoteženja Elasticsearch zelo učinkovite.
Če pa se pojavi potreba po ročnem ponovnem uravnoteženju, lahko uporabite naslednjo zahtevo:
"Priznano": res,
"vztrajno":
"grozd":
"usmerjanje":
"rebalans":
"enable": "primaries"
,
"dodelitev":
"allow_rebalance": "vedno",
"cluster_concurrent_rebalance": "2"
,
"prehodno":
Ukaz cURL je:
curl -XPOST "http: // localhost: 9200 / _cluster / reroute" -H 'Content-Type: application / json' -d '"ukazi": ["move": "index": "kibana_sample_data_flights", "shard": 0, "from_node": "instance-0000000001", "to_node": "instance-0000000002"] 'OPOMBA: Upoštevajte, da lahko Elasticsearch, če izvedete ročno ponovno uravnoteženje, samodejno premakne drobce, da zagotovi najboljše možno ponovno uravnoteženje.
Zaključek
Ta vodnik vas je vodil skozi posodabljanje in spreminjanje nastavitev za gručo Elasticsearch, da omogočite samodejno ponovno uravnoteženje drobcev. Članek je zajemal tudi ročno ponovno uravnoteženje, če ga potrebujete.