MongoDB Replikointi: Kuinka luoda MongoDB Replikasarja
โก รlykรคs yhteenveto
MongoDB Replikointi sรคilyttรครค identtiset tiedot useammassa kuin yhdessรค MongoDB palvelin, suojaten palvelimen vikaantumiselta ja mahdollistaen kuormituksen tasapainottamisen. Ryhmitelty MongoDB instanssit muodostavat replikajoukon, jossa yksi ensisijainen jรคsen hyvรคksyy kirjoitukset ja toissijaiset jรคsenet kรคsittelevรคt lukutoiminnot ja vikasietoisuuden.
Mikรค on MongoDB Replikointi?
Replikoinnilla tarkoitetaan prosessia, jolla varmistetaan, ettรค sama data on saatavilla useammassa kuin yhdessรค MongoDB Palvelin. Tรคtรค tarvitaan joskus datan saatavuuden parantamiseksi.
Koska jos tรคrkein MongoDB Palvelin kaatuu mistรค tahansa syystรค, tietoihin ei pรครคse kรคsiksi. Mutta jos olet replikoinut tiedot toiselle palvelimelle sรครคnnรถllisin vรคliajoin, voit kรคyttรครค tietoja toiselta palvelimelta, vaikka ensisijainen palvelin epรคonnistuu.
Toinen replikoinnin tarkoitus on mahdollisuus kuormituksen tasapainottamiseen. Jos jรคrjestelmรครคn liittyy useita kรคyttรคjiรค, sen sijaan, ettรค kaikki olisivat yhteydessรค yhteen jรคrjestelmรครคn, kรคyttรคjรคt voidaan yhdistรครค useisiin palvelimiin, jotta kuormitus jakautuu tasaisesti.
In MongoDB, useita MongoDB Palvelimet on ryhmitelty joukoiksi, joita kutsutaan replikajoukoiksi. Replikajoukolla on ensisijainen palvelin, joka hyvรคksyy kaikki kirjoitustoiminnot asiakkailta. Kaikkia muita joukkoon tรคmรคn jรคlkeen lisรคttyjรค instansseja kutsutaan toissijaisiksi instansseiksi, joita voidaan kรคyttรครค ensisijaisesti kaikkiin lukutoimintoihin.
Kuinka luoda kopiosarja MongoDB Ensimmรคisen jรคsenen lisรครคminen rs.initiate()
Kuten edellisessรค osiossa mainittiin, replikoinnin mahdollistamiseksi meidรคn on ensin luotava kopiosarja MongoDB tapauksissa.
Oletetaan, ettรค esimerkissรคmme meillรค on kolme palvelinta nimeltรค ServerA, ServerB ja ServerC. Tรคssรค kokoonpanossa ServerA on ensisijainen palvelimemme ja ServerB ja ServerC toissijaiset palvelimemme. Alla oleva kuvakaappaus antaa siitรค paremman kuvan.
Alla on vaiheet, jotka on noudatettava luotaessa MongoDB replikasarja sekรค ensimmรคisen jรคsenen lisรครคminen joukkoon.
Vaihe 1) Varmista, ettรค kaikki mongod.exe-instanssit on lisรคtty
Varmista, ettรค kaikki replikajoukkoon lisรคttรคvรคt mongod.exe-instanssit on asennettu eri palvelimille. Tรคmรค varmistaa, ettรค vaikka yksi palvelin kaatuisi, muut ovat kรคytettรคvissรค ja siten muut instanssit. MongoDB on saatavilla.
Vaihe 2) Kaikki mongo.exe-instanssit muodostavat yhteyden toisiinsa
Varmista, ettรค kaikki mongo.exe-esiintymรคt voivat muodostaa yhteyden toisiinsa. Anna palvelimelta A:lta seuraavat 2 komentoa.
mongo --host ServerB --port 27017 mongo --host ServerC --port 27017
Tee samoin muilta palvelimilta.
Vaihe 3) Kรคynnistรค ensimmรคinen mongod.exe-instanssi
Kรคynnistรค ensimmรคinen mongod.exe-instanssi replSet-asetuksella. Tรคmรค asetus tarjoaa ryhmรคnping kaikille palvelimille, jotka ovat osa tรคtรค replikajoukkoa.
mongo --replSet "Replica1"
Missรค "Replica1" on replikasarjasi nimi. Voit valita replikajoukon nimelle minkรค tahansa merkityksellisen nimen.
Vaihe 4) Ensimmรคinen palvelin lisรคtรครคn replikajoukkoon
Nyt kun ensimmรคinen palvelin on lisรคtty replikajoukkoon, seuraava vaihe on replikajoukon alustaminen antamalla seuraava komento: rs.initiate().
Vaihe 5) Tarkista replikasarja
Tarkista replikajoukko antamalla komento rs.conf() varmistaaksesi, ettรค replikajoukko on mรครคritetty oikein.
Replikasarja: Toissijaisen lisรคyksen rs.add()
Toissijaiset palvelimet voidaan lisรคtรค replikajoukkoon kรคyttรคmรคllรค rs.add-komentoa. Tรคmรค komento ottaa toissijaisten palvelimien nimet ja lisรครค palvelimet replikointijoukkoon.
Vaihe 1) Oletetaan, ettรค sinulla on ServerA, ServerB ja ServerC, joiden on oltava osa replikajoukkoasi, ja ServerA on mรครคritetty replikajoukon ensisijaiseksi palvelimeksi.
Lisรครค ServerB ja ServerC replikajoukkoon antamalla seuraavat komennot:
rs.add("ServerB") rs.add("ServerC")
Replica Set: Uudelleenmรครคritys tai poistaminen rs.remove()
Palvelimen poistamiseksi kokoonpanosta meidรคn on kรคytettรคvรค komentoa โrs.removeโ.
Vaihe 1) Suorita ensin poistettavan instanssin sammutus. Voit tehdรค tรคmรคn antamalla db.shutdownServer-komennon mongo-komennosta.
Vaihe 2) Yhdistรค ensisijaiseen palvelimeen.
Vaihe 3) Poista tarvittava palvelin replikajoukosta komennolla rs.remove. Oletetaan, ettรค sinulla on replikajoukko, jossa on ServerA, ServerB ja ServerC, ja haluat poistaa ServerC:n replikajoukosta. Anna komento:
rs.remove("ServerC")
Replikasarjojen vianetsintรค
Seuraavat ovat samoja tapoja, joilla voidaan vianmรครคritystรค, kun replikajoukkojen kรคytรถssรค ilmenee ongelmia.
- Varmista, ettรค kaikki mongo.exe-instanssit voivat muodostaa yhteyden toisiinsa. Oletetaan, ettรค sinulla on kolme palvelinta nimeltรค ServerA, ServerB ja ServerC. Suorita ServerA:sta seuraavat kaksi komentoa:
mongo --host ServerB --port 27017 mongo --host ServerC --port 27017
- Suorita komento rs.status. Tรคmรค komento antaa replikajoukon tilan. Oletusarvoisesti jokainen jรคsen lรคhettรครค toisilleen viestejรค, joita kutsutaan "sykeviesteiksi", jotka osoittavat, ettรค palvelin on toiminnassa. Komento "status" noutaa nรคiden viestien tilan ja nรคyttรครค, onko replikajoukon jรคsenissรค ongelmia.
- Tarkista Oplogin koko. Oplog on kokoelma MongoDB joka tallentaa sille tehtyjen kirjoitusten historian MongoDB tietokanta. MongoDB sitten kรคyttรครค tรคtรค Oplogia kopioidakseen kirjoitukset muille replikajoukon jรคsenille. Voit tarkistaa Oplogin muodostamalla yhteyden vaadittuun jรคsenesiintymรครคn ja suorittamalla rs.printReplicationInfo-komento. Tรคmรค komento nรคyttรครค lokin koon ja kuinka kauan se voi sรคilyttรครค tapahtumia lokitiedostossaan ennen kuin se tรคyttyy.


