Kako implementirati repliku u MongoDB na Ubuntu VPS

Sadržaj

MongoDB je vrlo popularna NoSQL baza podataka. Često se koristi za pohranu i upravljanje aplikacijskim podacima i podacima o web stranicama. MongoDB ima dinamički dizajn sheme, laku skalabilnost i format podataka koji je lako dostupan programski.
Vidjet ćemo kako konfigurirati replikaciju podataka kako bi se osigurala visoka dostupnost podataka i stvorio robustan sustav za prebacivanje pri prebacivanju. To je važno u svakom proizvodnom okruženju gdje bi pad baze podataka imao negativan utjecaj na vašu organizaciju ili poslovanje.
Što je skup replikacije MongoDB?
MongoDB upravlja replikacijom putem aplikacije pod nazivom Replication Sets. Replication Sets u svom osnovnom obliku donekle su slični čvorovima u konfiguraciji master / slave. Jedan roditelj član koristi se kao osnova za primjenu promjena na podređene članove.
Razlika između replikacijskog skupa i master-slave replikacije je u tome što replikacijski skup ima svojstveni mehanizam automatskog prebacivanja u slučaju greške u slučaju da primarni član nije dostupan.
Primarni član: Primarni član zadana je pristupna točka za transakcije sa skupom replikacije. To je jedini član koji može prihvatiti operacije pisanja.
Svaki skup replikacije može imati samo jednog primarnog člana odjednom. To je zato što se replikacija događa kopiranjem dnevnika operacija i ponavljanjem promjena u skupu podataka sekundarne replikacije. Ako bi više primarnih jedinica prihvatilo operacije pisanja, to bi dovelo do sukoba podataka.
Podređeni članovi - Skup replikacije može sadržavati više djece. Članovi djece reproduciraju promjene iz dnevnika operacija u svojim podacima
Iako će aplikacije prema zadanim postavkama tražiti od primarnog člana i čitanje i pisanje, možete konfigurirati svoje postavke za čitanje s jednog ili više sekundarnih članova. Sekundarni član može postati primarni ako se primarni prekine ili zakorači.
Za konfiguriranje replikacije započinjemo dodavanjem ip -a hostu.
 nano / etc / hosts 127.0.0.1 localhost mongo0 123.456.789.111 mongo0.domain.com 123.456.789.222 mongo1.domain.com 123.456.789.333 mongo2.domain.com

Uredite datoteku / etc / hostname:
 nano / etc / hostname mongo0.example.com

Sada moramo učiniti da pokrenemo MongoDB konfiguraciju. Za to zaustavljamo proces MongoDB na svakom poslužitelju.
usluga mongodb stop

Sada moramo postaviti imenik koji će se koristiti za pohranu naših podataka. Napravite direktorij sa sljedećom naredbom:
mkdir / mongo-metapodaci

Kako bi odražavao našu novu konfiguraciju skupa replikacija
 nano / etc / mongodb.conf dbpath = / mongo-port metapodataka = 27017 replSet = rs0 fork = true

Spremite i zatvorite datoteku. Pokrenite član replikacije izdavanjem sljedeće naredbe:
mongod --config / etc / mongodb.conf

Ovi se koraci moraju ponoviti za svakog člana skupa replika.
Pokrenite skup replikacije
Sada kada ste konfigurirali svakog člana skupa replikacije i pokrenuli proces mongod na svakom stroju, možete pokrenuti replikaciju i dodati svakog člana.
U jednom od svojih članova napišite:
mongo
Ovo će vam dati MongoDB upit za trenutnog člana.
Počnite s podešavanjem replikacije unosom:
rs.initiate ()

Ovo će pokrenuti skup replikacije i dodati poslužitelj s kojim ste trenutno povezani kao prvog člana skupa. To se može vidjeti upisivanjem:
 rs.conf () {"_id": "rs0" "verzija": 1, "članovi": [{"_id": 0, "host" "mongo0.example.com: 27017"}]}

Sada čvorove možete dodati skupu replika pozivanjem na naziv hosta koji ste im dali u / etc / hosts datoteci:
 rs.add ("mongo1.example.com") {"U redu": 1}

Učinite to za svakog od preostalih članova replikacije. Vaš skup replikacije sada bi trebao biti pokrenut.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave