Automaatne killude tasakaalustamine vastab piirangutele ja reeglitele, nagu jaotuse filtreerimine ja sunnitud teadlikkus, mis viib võimalikult tõhusa ja tasakaalustatud klastrini.
MÄRGE: Ärge ajage segamini kildude ümberjaotamist, mis on määramata kildude leidmine ja viimine nendesse sõlmedesse, kus nad elavad, koos tasakaalustamisega. Tasakaalustamine võtab määratud killud ja liigutab need ühtlaselt erinevatesse sõlmedesse, eesmärgiks on killude võrdne jaotus sõlme kohta.
Kuidas lubada automaatne tasakaalustamine
Automaatse klastrite tasakaalustamise lubamiseks rakenduses Elasticsearch saame kasutada PUT-i taotlust to_cluster API lõpp-punkti ja lisada vajalikud seaded.
Dünaamilise killukese tasakaalustamise jaoks saadaval olevad seaded on järgmised:
- klaster.marsruutimine.tasakaalustama.lubage: Juhib automaatset tasakaalustamist erinevate killutüüpide jaoks, näiteks:
- Kõik: Komplektid võimaldavad kõigi indeksite killustiku tasakaalustamist.
- Puudub: Keelab kõigi indeksite killustiku tasakaalustamise.
- Koopiad: Lubatud on ainult kildude koopia tasakaalustamine.
- Esmane: Lubatud on ainult esmane kildude tasakaalustamine.
- klaster.marsruutimine.eraldamine.allow_rebalance: Määrab killu tasakaalustamise väärtuse. Valikute hulka kuuluvad:
- Alati: Võimaldab lõputult tasakaalustada.
- Indeksid_primaarid_aktiivsed: Võimaldab tasakaalustamist ainult siis, kui kõik klastri primaarsed killud on eraldatud.
- Indeksid_aktiivsed: Võimaldab tasakaalustamist, kui eraldatakse ainult klastri killud. See hõlmab nii primaarseid kui ka koopiajuppe.
- klaster.marsruutimine.eraldamine.klaster.samaaegne.tasakaalustamine: See suvand määrab klastris lubatud samaaegsete tasakaalustamiste arvu. Vaikeväärtus on 2.
Kaaluge allpool esitatud taotlust, et lubada klastri automaatset killustiku tasakaalustamist.
PUT / _klaster / seaded"püsiv":
"klaster.marsruutimine.tasakaalustama.lubada ":" esmased ",
"klaster.marsruutimine.eraldamine.allow_rebalance ":" alati " ,
"klaster.marsruutimine.eraldamine.cluster_concurrent_rebalance ":" 2 "
Järgmine on käsk cURL:
lokk -XPUT "http: // localhost: 9200 / _cluster / settings" -H 'Sisu tüüp: application / json' -d '"püsiv": "klaster.marsruutimine.tasakaalustama.võimaldada ":" esmased "," klaster.marsruutimine.eraldamine.allow_rebalance ":" alati "," klaster.marsruutimine.eraldamine.cluster_concurrent_rebalance ":" 2 " 'See käsk peaks tagastama vastuse, kuna JSON-objekt tunnistab värskendatud sätteid.
“Tunnustatud”: tõsi,
"püsiv":
"klaster":
"marsruutimine":
"tasakaalustamine":
"enable": "esmased"
,
"eraldamine":
"allow_rebalance": "alati",
"cluster_concurrent_rebalance": "2"
,
"mööduv":
Indeksi käsitsi tasakaalustamine
Samuti võib killu käsitsi konkreetse indeksi jaoks tasakaalustada. Ma ei soovitaks seda võimalust, sest Elasticsearchi vaikeseadete tasakaalustamise võimalused on väga tõhusad.
Kui peaks tekkima vajadus käsitsi tasakaalustamiseks, võite kasutada järgmist taotlust:
“Tunnustatud”: tõsi,
"püsiv":
"klaster":
"marsruutimine":
"tasakaalustamine":
"enable": "esmased"
,
"eraldamine":
"allow_rebalance": "alati",
"cluster_concurrent_rebalance": "2"
,
"mööduv":
Käsk cURL on:
curl -XPOST "http: // localhost: 9200 / _cluster / reroute" -H 'Content-Type: application / json' -d '"commands": ["move": "index": "kibana_sample_data_flights", "shard": 0, "from_node": "instance-0000000001", "to_node": "instance-0000000002"] 'MÄRGE: Pidage meeles, et kui teete käsitsi tasakaalu, võib Elasticsearch killud automaatselt liigutada, et tagada võimalikult hea tasakaalustamine.
Järeldus
Selles juhendis tutvustati teile Elasticsearchi klastri sätete värskendamist ja muutmist, et võimaldada killude automaatset tasakaalustamist. Artikkel käsitles ka käsitsi tasakaalustamist, kui seda vajate.