MongoDB Replikointi: Kuinka luoda MongoDB Replikasarja

Mikä on MongoDB Replikointi?

Replikointi tarkoittaa prosessia, jolla varmistetaan, että samat tiedot ovat saatavilla useammassa kuin yhdessä Mongo DB -palvelimessa. Tämä on joskus tarpeen tietojen saatavuuden lisäämiseksi.

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 sarjoiksi nimeltä Replica sets. Replikasarjalla on ensisijainen palvelin, joka hyväksyy kaikki kirjoitustoiminnot asiakkailta. Kaikkia muita esiintymiä, jotka lisätään joukkoon tämän jälkeen, kutsutaan toissijaisiksi ilmentymiksi, 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 3 palvelinta nimeltä ServerA, ServerB ja ServerC. Tässä kokoonpanossa ServerA on ensisijainen palvelimemme ja ServerB ja ServerC ovat toissijaisia ​​palvelimiamme. Alla oleva kuvakaappaus antaa paremman käsityksen siitä.

Luo kopiosarja MongoDB

Alla on vaiheet, jotka on noudatettava luotaessa MongoDB replikasarja sekä ensimmäisen jäsenen lisääminen joukkoon.

Vaihe 1) Varmista, että kaikki mongod.exe-esiintymät on lisätty

Varmista, että kaikki replikasarjaan lisättävät mongod.exe-esiintymät on asennettu eri palvelimille. Tällä varmistetaan, että vaikka yksi palvelin kaatuisi, muut ovat käytettävissä ja siten myös muut palvelimet 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-ilmentymä

Aloita ensimmäinen mongod.exe-ilmentymä replSet-vaihtoehdolla. Tämä vaihtoehto tarjoaa ryhmittelyn 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 aloittaa replikajoukko antamalla seuraava komento rs.initiate ().

Vaihe 5) Tarkista kopiosarja

Tarkista replikasarja antamalla komento rs.conf() varmistaaksesi, että replika 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 PalvelinA, PalvelinB ja PalvelinC, joiden on oltava osa replikajoukkoasi, ja PalvelinA on määritetty replikajoukon ensisijaiseksi palvelimeksi.

Voit lisätä PalvelinB:n ja ServerC:n replikajoukkoon antamalla komennot

rs.add("ServerB")
rs.add("ServerC")

Replica Set: Uudelleenmääritys tai poistaminen rs.remove()

Jos haluat poistaa palvelimen kokoonpanojoukosta, meidän on käytettävä "rs.remove"-komentoa

Vaihe 1) Suorita ensin poistettavan esiintymän sammutus. Tämä voidaan tehdä antamalla db.shutdownserver-komento mongo-komentotulkista.

Vaihe 2) Yhdistä ensisijaiseen palvelimeen

Vaihe 3) Käytä rs.remove-komentoa poistaaksesi tarvittava palvelin replikajoukosta. Oletetaan siis, että jos sinulla on kopiosarja, jossa on PalvelinA, PalvelinB ja PalvelinC ja haluat poistaa ServerC:n replikajoukosta, anna komento

rs.remove("ServerC")

Replikasarjojen vianetsintä

Seuraavat vaiheet ovat samoja tapoja vianmääritykseen, kun replikasarjojen käytössä ilmenee ongelmia.

  1. Varmista, että kaikki mongo.exe-esiintymät voivat muodostaa yhteyden toisiinsa. Oletetaan, että sinulla on 3 palvelinta nimeltä PalvelinA, PalvelinB ja PalvelinC. Anna palvelimelta A seuraavat 2 komentoa
mongo –host ServerB –port 27017
mongo –host ServerC –port 27017
  1. Suorita rs.status-komento. Tämä komento antaa replikajoukon tilan. Oletusarvoisesti jokainen jäsen lähettää toisilleen viestejä, joita kutsutaan "sydänlyönneiksi", mikä vain osoittaa, että palvelin on elossa ja toimii. "Status"-komento saa näiden viestien tilan ja näyttää, onko replikajoukon jäsenissä ongelmia.
  2. 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.

Yhteenveto

Replikointi sisään MongoDB viittaa prosessiin, jolla varmistetaan, että samat tiedot ovat saatavilla useammalla kuin yhdellä Mongo DB -palvelimella. Monet jäsenet (MongoDB esiintymät) voidaan lisätä Replica-joukkoon vaatimusten mukaan.