Uvod
Montaža
Povežite se s novom instancom VM-a
Pristup bazi podataka
Uklonite testnu bazu podataka
Igranje u bazi podataka
Postavljanje klastera
Zaključak
Uvod
RethinkDB je NoSQL baza podataka koja pohranjuje podatke kao JSON dokumente. Ima super intuitivan jezik upita i značajke koje su uobičajeno dostupne u tradicionalnim RDBMS-ima kao što su "pridruživanje tablica" i "grupiranje po". Ovaj vodič će objasniti kako postaviti RethinkDB klaster koristeći 3 Vultr VPS poslužitelja koji koriste Ubuntu 14.04.
Montaža
Izradite novu skriptu za pokretanje Vultr koristeći sljedeći sadržaj kao predložak.
#!/usr/bin/env bash
echo ">>> Installing RethinkDB<<<"
# Add RethinkDB Repo to list of Repos
source /etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
wget -qO- http://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
# Update Apt Repo & Install RethinkDB
sudo apt-get update
sudo apt-get install -qq rethinkdb
Pokrenite Vultr VM instancu odabirom bilo koje vrste poslužitelja , lokacije i veličine poslužitelja po vašem izboru. Za odabir operativnog sustava svakako odaberite Ubuntu 14.04 x64 i označite opciju Omogući privatnu mrežu . Također OBAVEZNO odaberite prethodno kreiranu skriptu za pokretanje prije nego što naručite.
Povežite se s novom instancom VM-a
Kada je vaša nova instanca VM-a spremna, povežite se s njom iz terminala/naredbenog retka putem SSH-a.
ssh root@[vultr-ip-address]
Kada se od vas zatraži vaša lozinka, upotrijebite početnu lozinku na kartici "informacije o poslužitelju" od administratora Vultr.
Zaporku možete ažurirati tako da upišete passwdi pritisnete tipku ENTER . Ubuntu će od vas tražiti novu lozinku (na ovaj način možete odabrati nešto što ćete lako zapamtiti).
Pristup bazi podataka
Pokrenite RethinkDB pokretanjem naredbe ispod. Imajte na umu da se "obvezujemo za sve" kako ne bismo naišli na probleme kada pokušavamo pristupiti RethinkDB-ovom web administratorskom sučelju.
rethinkdb --bind all
Nakon što se RethinkDB pokrene, pristupate mu putem naredbenog retka ili web sučelja.
Web pristup
Za pristup putem weba koristite port 8080 tako da upišete http://[vultr-ip-address]:8080u adresnu traku svog web preglednika. Trebali biste vidjeti RethinkDB-ov strašan alat za web administraciju.
Pristup naredbenom retku
Za pristup putem naredbenog retka, pokrenite novu sesiju terminala/naredbenog retka i povežite se s poslužiteljem putem SSH-a kao što je prethodno objašnjeno. Zatim izdajte naredbu rethinkdb admin join 127.0.0.1:29015. Obavezno koristite port 29015 .
Uklonite testnu bazu podataka
Ubuduće ćemo koristiti web sučelje za manipulaciju bazom podataka. Pristupite mu tako da pregledate http://[vultr-ip-address]:8080i kliknete na vezu "Tablice". Vidjet ćete da je RethinkDB već instalirao "testnu" bazu podataka. Kliknite na vezu "Data Explorer" i pokrenite naredbu ispod za brisanje "testne" baze podataka.
r.dbDrop('test')
Igranje u bazi podataka
Dok ste još uvijek u odjeljku "Data Explorer" administratora RethinkDB-a, izradite novu bazu podataka pod nazivom "tweetDB" pokretanjem koda u nastavku.
r.dbCreate('tweetDB')
Zatim napravite tablicu "tweets".
r.db('tweetDB').tableCreate('tweets')
Umetnite neke zapise u tablicu "tweets".
r.db('tweetDB').table('tweets').insert([
{
name: 'Lami',
twitterHandle: 'mrLami',
message: 'Best cloud hosting on the planet - vultr'
},
{
name: 'Vultr Hosting',
twitterHandle: '@TheVultr',
message: '50% off on new instances - coupon - tgif'
}
])
Upitajte tablicu "tweets" da biste vidjeli rezultate.
r.db('tweetDB').table('tweets')
Trebali biste vidjeti sljedeće ispod prikaza stabla (s različitim ID-ovima).
[
{
"id": "6afe436c-7db4-4c86-b4db-3279acb3265d" ,
"message": "50% off on new instances - coupon - tgif" ,
"name": "Vultr Hosting" ,
"twitterHandle": "@TheVultr"
} ,
{
"id": "fd328cd5-d9f4-40ee-8a32-880cd8cda15d" ,
"message": "Best cloud hosting on the planet - vultr" ,
"name": "Lami" ,
"twitterHandle": "mrLami"
}
]
Postavljanje klastera
Pokrenite drugi i treći stroj koristeći upute iz odjeljaka "Instalacija" , "Povezivanje s novom instancom VM-a" i "Pristup bazi podataka" ovog vodiča. Obavezno izbrišite "testnu" bazu podataka na svakoj od novih instanci i NEMOJTE im dodavati nove baze podataka.
Nakon brisanja "testne" baze podataka iz druge i treće instance, vratite se na njihove naredbene linije i zaustavite RethinkDB izdavanjem Ctrl + C (ili Cmd + C na Macu). Sada ponovno pokrenite RethinkDB na ovim instancama koristeći donju naredbu (u osnovi kažemo novim drugim i trećim instancama da se pridruže prvoj).
$ rethinkdb --join [ip-of-first-vultr-vm]:29015 --bind all
U drugoj i trećoj instanci pristupite sučeljima web administratora i idite na odjeljak "Data Explorer". Pokrenite sljedeći upit da biste dobili popis tweetova.
r.db('tweetDB').table('tweets')
Vidjet ćete da su se već replicirali iz glavne (prve postavke VM) instance.
Zaključak
Iako je RethinkDB još uvijek u povojima u vrijeme pisanja ovog teksta, ima puno obećanja i ima moćno web-bazirano administrativno sučelje koje čini teške zadatke koji su obično uključeni u skaliranje baze podataka (sharding, replikacija) lako postići sa samo nekoliko klikova.
Za daljnje čitanje posjetite RethinkDB Docs . Također pogledajte #rethinkdb IRC kanal kako biste saznali više od zajednice.
Ostale verzije
CentOS 7
Ubuntu 14
Napisala Lami Adabonyan