Instalacija InfluxDB na Ubuntu 14
Uvod InfluxDB je open-source, distribuirana baza podataka vremenskih serija bez vanjskih ovisnosti. Da, pročitali ste paragraf bez vanjskih ovisnosti
Od svoje koncepcije 2009. MongoDB je vodeći u NoSQL industriji. Jedan od temeljnih koncepata MongoDB-a je skup replika, tako da prije rada s njim najprije pogledamo koncept.
Najjednostavniji model komunikacije koji se koristi u replikaciji baza podataka je Master-Slave arhitektura. Kao što njegovo ime sugerira, ovaj model ima 2 uloge koje su raspoređene u jedinstvenom masteru i mnogim slaveovima, uloga mastera je da obrađuje operacije čitanja i pisanja koje obavljaju klijenti, a slave se tretiraju kao replika mastera.
Najvažnija prednost ovog modela je u tome što izvedba mastera nije ugrožena operacijama sigurnosnog kopiranja, operacije sigurnosnog kopiranja rade se na asinkroni način i to može postati ozbiljan problem kada glavni čvor zakaže. Slave čvorovi su samo za čitanje i moraju se ručno unaprijediti u glavni čvor, tako da u ovom trenutku postoji mogućnost gubitka podataka.
Jedna opcija za rješavanje problema dostupnosti je imati više od jednog mastera u arhitekturi, ali to može dovesti do drugog problema u konzistentnosti podataka između tih instanci i dodatnoj složenosti konfiguracije.
Sada s obzirom na kontekst možemo predstaviti Replica Set tehnologiju MongoDB. Skup replika je naziv Master-Slave arhitekture koja ima automatski prelazak na grešku, tako da u trenutku kada glavni (koji je sada imenovan primary
) čvor ne uspije ispravno funkcionirati, election
aktivirat će se i novi primarni čvor će biti izabran iz preostalih slave-ova ( koji se sada naziva secondaries
).
Primarni čvor je jedini koji izvodi operacije pisanja, prema zadanim postavkama operacijama čitanja rukuje i primarni, ali ovo ponašanje se može promijeniti kasnije.
Operacije se bilježe u oplog
(dnevnik operacija), a zatim sekundarni čvorovi asinkrono ažuriraju svoj sadržaj na temelju sadržajaoplog
Napomena: oplog
je ograničena zbirka, to znači da zbirka ima ograničenje, s tim local.oplog.rs
da možete provjeriti sadržaj ove kolekcije unutar mongo ljuske u bilo kojem članu skupa.
Osim što je onaj koji radi ispravnu sigurnosnu kopiju baze podataka, sekundarni čvor ima sljedeće uloge:
Zahvaljujući ovim karakteristikama možemo imati različite vrste sekundarnih čvorova:
primary
i ne mogu pokrenuti izbore, ali ipak mogu glasati na izborima, imati potpunu repliku i mogu prihvatiti operacije čitanja. To može biti od pomoći pri implementaciji više podatkovnih centara.Priority 0
članovi, ali štoviše ne mogu obraditi operacije čitanja. Oni mogu glasovati ako je potrebno. Preferirani zadaci za ove članove su izvješćivanje i sigurnosna kopija.priority 0
čvor, a preporuča se i da bude hidden
član.Prije implementacije infrastrukture važno ju je dizajnirati, a postoje točke koje treba razmotriti u ovom dizajnu.
Imajte na umu da je minimalni broj elemenata za izgradnju skupa replika 3. Možete miješati tri vrste čvorova s najmanje jednim primarnim i jednim sekundarnim čvorom.
U ovom vodiču raspoređujemo 3 člana, jednog primarnog i dva standardna sekundarna.
Napomena: Preporuča se imati maksimalan broj od 7 članova s pravom glasa s mješavinom arbitara i sekundarnih članova.
Naziv je samo za referencu, ali ga koristite u konfiguraciji seta. Imajte na umu da možete imati više od jednog skupa replika u svom proizvodnom okruženju, stoga nemojte zanemariti naziv svog skupa.
Ovaj vodič potiče korisnika da odabere naziv skupa.
Ovaj vodič predlaže implementaciju na istom podatkovnom centru kako biste izbjegli probleme u komunikaciji.
Napomena: U slučaju implementacije u različitim podatkovnim centrima, preporuča se omotati svoje čvorove VPN-om
Pokrenite 3 čvora Ubuntu 16.04 x64; u istoj regiji s vašeg korisničkog portala, ako je moguće. Ne zaboravite ih imenovati u skladu s vrstom projekta s kojim se bavite i budite sigurni da imate istu veličinu poslužitelja u svim tim čvorovima.
Nakon što rasporedite svoja 3 čvora, morat ćete biti sigurni da svaki čvor može razgovarati s ostalima. Morate ssh u dva čvora i doći do ostalih pomoću ping -c 4 EXAMPLE_IP
. Promijenite EXAMPLE_IP
na stvarne IP adrese svojih čvorova.
Ovdje možete vidjeti primjer uspješne komunikacije između dva čvora.
root@foo_node:~# ping -c 4 EXAMPLE_IP
PING EXAMPLE_IP (EXAMPLE_IP) 56(84) bytes of data.
64 bytes from EXAMPLE_IP: icmp_seq=1 ttl=59 time=0.594 ms
64 bytes from EXAMPLE_IP: icmp_seq=2 ttl=59 time=0.640 ms
64 bytes from EXAMPLE_IP: icmp_seq=3 ttl=59 time=0.477 ms
64 bytes from EXAMPLE_IP: icmp_seq=4 ttl=59 time=0.551 ms
--- EXAMPLE_IP ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3021ms
rtt min/avg/max/mdev = 0.477/0.565/0.640/0.064 ms
Općenito, možete koristiti MongoDB paket Ubuntua, ali je bolje koristiti službeni repo zajednice jer je uvijek ažuriran. Ovaj repo sadrži ove pakete:
mongod
demon (primarni proces koji obrađuje zahtjeve za podacima).mongos
demon (usluga usmjeravanja za dijeljene implementacije).mongo shell
JavaScript sučelje.Nastavite s instalacijom paketa.
Uvezite javni ključ u sustav upravljanja paketima.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Napravite datoteku popisa za MongoDB '/etc/apt/sources.list.d/mongodb-org-3.4.list'.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ažurirajte bazu podataka paketa.
sudo apt-get update
Instalirajte metapaket MongoDB.
sudo apt-get install -y mongodb-org
Pokrenite uslugu MongoDB.
sudo service mongod start
Sada možete otvoriti mongo shell
u bilo kojoj bash sesiji. Da biste to učinili, morate upotrijebiti mongo
naredbu. Dočekat će vas nešto slično ovome.
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
*Some extra logs are cut by the way*
>
Ne zaboravite isključiti uslugu s sudo service mongod stop
, jer ćemo kasnije mongod
ponovno početi s nekim parametrima. Ponovite ovaj postupak u sva 3 čvora skupa.
Korištenje ključne datoteke forsira dva koncepta u administraciji skupa replika. Prvi je Internal Authentication
. Prema zadanim postavkama možete pokrenuti mongo shell
sesiju bez korištenja korisnika i ova će sesija imati potpunu kontrolu nad bazom podataka, ali kada koristite ključnu datoteku za autentifikaciju, vaša mongo shell
sesija doseže stanje zvano localhost exception
. Ovo stanje vam omogućuje samo stvaranje administratorskog korisnika i skup replika. Drugi koncept je Role-Based Access Control
, ili drugim riječima autorizacija. Ovo se provodi za upravljanje administrativnim razinama skupa replika.
Ključna datoteka je lozinka za korištenje u skupu, ova lozinka mora biti ista u svim članovima skupa. Za povećanje sigurnosti važno je koristiti nasumični ključ s alatom po vašem izboru.
Sadržaj mora imati između 6 i 1064 znaka. Također morate postaviti read only
dopuštenje za ključnu datoteku.
chmod 400 PATH_OF_YOUR_KEYFILE
Sada kopirajte svoju ključnu datoteku svakom članu skupa, koristite dosljednu mapu za buduću referencu i nemojte je pohranjivati na prijenosnom mediju.
Također koristite mapu za datoteku kojoj mongod
može pristupiti.
U ovom koraku trebamo pokrenuti član mongod daemon
u svakom skupu . Postoje dva načina pokretanja mongod
procesa: korištenjem konfiguracijske datoteke ili korištenjem naredbenog retka. Obje su prilično jednostavne metode, ali samo radi jednostavnosti, ovaj vodič koristi verziju naredbenog retka.
Koristite naziv koji ste ranije odabrali u ovoj naredbi.
mongod --keyFile PATH_OF_YOUR_KEYFILE --replSet "YOUR_SET_NAME"
Prema zadanim postavkama mongod
ne radi kao demon. Morat ćete upotrijebiti --fork
parametar ili upotrijebiti da upstart
biste ga u potpunosti pokrenuli kao demon. U ovom tutorialu ne potičemo rad mongod
kao demon, tako da možete izravno vidjeti zapise u svom terminalu.
Napomena: Pažljivo upišite naziv skupa replika jer ga nakon izrade ne možete promijeniti.
Napomena: Ako pokrenete mongod
kao proces koji nije demon, tada ćete morati otvoriti drugu ssh vezu da biste nastavili s radom.
Morate koristiti mongo
naredbu za otvaranje mongo shell
. To se može učiniti u bilo kojem članu skupa.
U ovom trenutku nalazimo se u stanju koje se zove localhost exception
. Kada se ključna datoteka koristi za postavljanje mongod
procesa, dužni ste stvoriti administratora baze podataka prije nego što možete primijeniti operacije čitanja i pisanja, no to ćemo kasnije.
Ovo je delikatan dio, koristimo naredbu rs.initiate()
unutar mongo shell
koraka 4. prije upotrebe ove naredbe pogledajmo je.
rs.initiate(
{
_id : <replicaSetName>,
members: [
{ _id : 0, host : "example1.net:27017" },
{ _id : 1, host : "example2.net:27017" },
{ _id : 2, host : "example3.net:27017" }
]
}
)
Prvo _id
polje je niz i mora odgovarati onom --replSet
koji je prije proslijeđen u mongod
. Također, svaka vrijednost host
mora biti ili ip ili naziv domene svakog člana skupa replika. Ne zaboravite dodati port koji mongo instanca koristi u svakom članu.
Sada je vrijeme da izvršite naredbu s vašim podacima na njoj, to će pokrenuti election
, a zatim će primarni biti izabran automatski.
Ovdje trebate primijetiti da se vaš pokazivač ljuske promijenio u YOUR_SET_NAME:PRIMARY>
ili YOUR_SET_NAME:SECONDARY
. To znači da je stvaranje kompleta bilo uspješno.
Da biste nastavili raditi, morate pronaći primary
, ako niste na njemu, naravno. Upotrijebite rs.status()
naredbu za prikaz informacija o skupu replika i locirajte primary
. Tražite nekretninu "stateStr" : "PRIMARY"
.
Nakon što ste pronašli primary
, unesite mongo shell
i pokrenite sljedeću naredbu koristeći svoje podatke.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOU_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
admin = db.getSiblingDB("admin")
Dio nam omogućuje pisanje u admin
iz različite baze podataka. Ovo stvara pseudonim koji se zove admin
, tako da možemo izvršiti naredbe koristeći ga umjesto toga.
Ako je operacija uspješna, dobit ćete obavijest da je korisnik dodan.
Successfully added user: {
"user" : "YOUR_USER",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
U ovom trenutku imamo samo administratora za sve poslužitelje, ali postavljanje replike prisiljava nas da imamo korisnika s tom clusterAdmin
ulogom. Stvorit ćemo drugog korisnika samo s tom ulogom kako bismo odvojili brige.
Dosegnuli smo ograničenje od localhost exception
, zbog čega moramo promijeniti autentifikaciju za korisnika koji je kreiran jedan korak prije.
Možete promijeniti korisnike unutar mongo shell
sljedećeg.
db.getSiblingDB("admin").auth("YOUR_ADMIN", "YOUR_PASSWORD" )
Ako se već niste povezali s mongo shell
ovom naredbom, umjesto toga upotrijebite ovu naredbu.
mongo -u "YOUR_ADMIN" -p "YOUR_PASSWORD" --authenticationDatabase "admin"
Bit ćete obaviješteni o promjeni korisnika i možete ići na sljedeći korak.
clusterAdmin
Uloga daje korisniku potpunu kontrolu nad Replika setu. Stvaranje je jednostavno kao i stvaranje administratorskog korisnika.
db.getSiblingDB("admin").createUser(
{
"user" : "YOUR_USER",
"pwd" : "YOUR_PASSWORD",
roles: [ { "role" : "clusterAdmin", "db" : "admin" } ]
}
)
Imajte na umu da je ovaj put uloga promijenjena uclusterAdmin
.
U ovom trenutku imamo 2 administratorska korisnika: jednog koji ima potpunu kontrolu nad poslužiteljem i drugog koji ima pristup administrativnim zadacima na razini replika skupa. Međutim, nedostaje nam korisnik koji ima pristup "korištenju" baze podataka, pa ćemo sada kreirati tog korisnika.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOUR_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "cars" } ]
}
)
Obratite pažnju da ovaj put mijenjamo db
dio, tu bazu podataka stavljamo dostupnom korisniku, u ovom slučaju koristimo bazu podataka pod nazivom cars
.
Baza podataka još nije stvorena. Da biste to učinili, morat ćete upisati neke naredbe kako biste ga implicitno stvorili. Prijeđite na cars
bazu podataka.
use cars
Dobit ćete obavijest: switched to db cars
.
Baza podataka još uvijek nije stvorena, da biste to učinili, morate u nju nešto napisati. Koristimo se sljedećim primjerom.
db.models.insert({ make: "Dodge", model: "Viper", year: 2010 })
Ovaj put ćete biti obaviješteni s WriteResult({ "nInserted" : 1 })
.
Ako želite, možete dohvatiti sve objekte u bazi, find()
metodom:
db.models.find()
{ "_id" : ObjectId("59acd8b55334882863541ff4"), "make" : "Dodge", "model" : "Viper", "year" : 2010 }
Imajte na umu da _id
će se u vašem izlazu razlikovati, ali ostali podaci trebaju biti isti. S obzirom na dovoljno vremena, ti će se podaci replicirati ostalim članovima.
Stvaranje skupa replika u početku može biti izazovno jer postoji mnogo informacija koje treba razumjeti, ali nakon što dobijete ideju, možete ga primijeniti na povjetarcu, stoga nemojte odustajati ako ga ne možete shvatiti prvi put. Imajte na umu da je skup replika važan u administraciji MongoDB jer otvara mogućnost dodavanja naprednih značajki kao što je balansiranje opterećenja.
Uvod InfluxDB je open-source, distribuirana baza podataka vremenskih serija bez vanjskih ovisnosti. Da, pročitali ste paragraf bez vanjskih ovisnosti
Korištenje drugog sustava? Apache Cassandra je besplatni i otvorenog koda NoSQL sustav upravljanja bazom podataka koji je osmišljen kako bi osigurao skalabilnost, visoku
Korištenje drugog sustava? Uvod ArangoDB je NoSQL baza podataka otvorenog koda s fleksibilnim modelom podataka za dokumente, grafikone i ključ-vrijednosti. to je
Laravel GitScrum ili GitScrum je alat za produktivnost otvorenog koda dizajniran da pomogne razvojnim timovima da implementiraju Scrum metodologiju na sličan način.
Uvod U ovom tekstu dobro prođite kroz kako napraviti sigurnosnu kopiju više MySQL ili MariaDB baza podataka koje se nalaze na istom stroju koristeći prilagođenu bash skriptu
OrientDB je sljedeća generacija multimodela otvorenog koda NoSQL DBMS. Uz podršku za više modela podataka, OrientDB može pružiti više funkcionalnosti i fleksibilnosti
MongoDB prema zadanim postavkama nije siguran. Ako instalirate MongoDB i pokrećete ga bez konfiguriranja za autentifikaciju, imat ćete loše vrijeme
MySQL je najpopularniji softver na svijetu koji se koristi za baze podataka. Vrlo je važno osigurati da imate sigurnosne kopije vaše baze podataka. Ova praksa dopušta
Uvod PostgreSQL je besplatan sustav za upravljanje bazom podataka otvorenog koda koji se može koristiti za pohranjivanje informacija vezanih za web stranice. Također je poznato a
Preduvjeti Vultr poslužitelj koji radi s najnovijim Arch Linuxom (pogledajte ovaj članak.) Sudo pristup. Naredbe koje se trebaju izvoditi kao root imaju prefiks # i jedan
Od svoje koncepcije 2009. MongoDB je vodeći u NoSQL industriji. Jedan od temeljnih koncepata MongoDB-a je skup replika, tako da prije rada s i
MongoDB je brza i moćna NoSQL baza podataka. Međutim, Debian spremišta se ažuriraju sporo i često sadrže vrlo stare verzije paketa. Ovaj tutorijal
Barnyard2 je način za pohranu i obradu binarnih izlaza iz Snort-a u MySQL bazu podataka. Prije nego počnemo Imajte na umu da ako nemate hrkanje
RockMongo je web-bazirani alat za upravljanje MongoDB koji je sličan MySQL alatu za upravljanje: phpMyAdmin. Ovaj vodič će pokriti proces instalacije
Uvod InfluxDB je baza podataka temeljena na vremenskim serijama napisana na Go. InfluxDB ima mnoge praktične namjene, od kojih je jedna pohranjivanje podataka praćenja na poslužiteljima. ja
MariaDB je besplatna baza podataka otvorenog koda i najraširenija je zamjena za MySQL. Napravljen je od strane programera MySQL-a i namijenjen je daljnjem radu
phpRedisAdmin je web aplikacija koja upravlja Redis bazama podataka s intuitivnim grafičkim korisničkim sučeljem. Ovaj vodič će objasniti kako instalirati
Korištenje drugog sustava? Uvod ArangoDB je NoSQL baza podataka otvorenog koda s fleksibilnim modelom podataka za dokumente, grafikone i ključ-vrijednosti. to je
Preduvjeti Docker engine 1.8+. Najmanje 4 GB prostora na disku. Minimalno 4 GB RAM-a. Korak 1. Instalirajte Docker Da biste instalirali SQL-Server, potrebno je Docker
U ovom članku ću vam pokazati kako instalirati MariaDB na OpenBSD 6 i konfigurirati ga da bude dostupan chrooted web poslužitelju (Apache ili Nginx). Vi ćete als
Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.
Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.
Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.
Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.
Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…
Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.
Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.
Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.
U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.
Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više