Instalimi i InfluxDB në Ubuntu 14
Hyrje InfluxDB është një bazë të dhënash e serive kohore me burim të hapur, të shpërndarë, pa varësi të jashtme. Po, ju lexoni par. pa varësi të jashtme
Që nga konceptimi i tij në 2009, MongoDB ka udhëhequr industrinë NoSQL. Një nga konceptet thelbësore të MongoDB është Replica Set, kështu që përpara se të punojmë me të, së pari le të rishikojmë konceptin.
Modeli më i thjeshtë i komunikimit i përdorur në replikimin e bazave të të dhënave është arkitektura Master-Slave. Siç sugjeron edhe emri i tij, ky model ka 2 role të cilat shpërndahen në një master unik dhe shumë skllav, roli i masterit është të përpunojë operacionet e leximit dhe të shkrimit të kryera nga klientët dhe skllevërit trajtohen si një kopje e masterit.
Avantazhi më i rëndësishëm i këtij modeli është se performanca e masterit nuk rrezikohet nga operacionet rezervë, operacionet rezervë bëhen në mënyrë asinkrone dhe kjo mund të bëhet një problem serioz kur një nyje master dështon. Nyjet slave lexohen vetëm dhe ato duhet të promovohen manualisht në nyjen kryesore, kështu që në këtë kohë ekziston mundësia e humbjes së të dhënave.
Një opsion për të zgjidhur problemin e disponueshmërisë është të kesh më shumë se një master në arkitekturë, por kjo mund të çojë në një problem tjetër në konsistencën e të dhënave midis atyre instancave dhe kompleksitetin e shtuar të konfigurimit.
Tani duke pasur parasysh kontekstin, ne mund të paraqesim teknologjinë Replica Set të MongoDB. Replica Set është emri i arkitekturës Master-Slave që ka dështim automatik, kështu që në momentin që një primary
nyje master (i cili tani është emërtuar ) nuk funksionon siç duhet, një election
nxitje do dhe një nyje e re parësore do të zgjidhet nga skllevërit e mbetur ( referuar tani si secondaries
).
Nyja kryesore është e vetmja që kryen operacione shkrimi, si parazgjedhje operacionet e leximit trajtohen gjithashtu nga primar, por kjo sjellje mund të ndryshohet më vonë.
Operacionet regjistrohen në oplog
( regjistrin e operacioneve), më pas nyjet dytësore përditësojnë përmbajtjen e tyre në mënyrë asinkrone bazuar në përmbajtjen eoplog
Shënim: oplog
është një koleksion i kufizuar, kjo do të thotë se koleksioni ka një kufi, me local.oplog.rs
ju mund të kontrolloni përmbajtjen e këtij koleksioni brenda një guaskë mongo në çdo anëtar grupi.
Përveçse janë ata që bëjnë një kopje rezervë të duhur të bazës së të dhënave, një nyje dytësore ka këto role:
Falë këtyre karakteristikave mund të kemi lloje të ndryshme të nyjeve dytësore:
primary
dhe nuk mund të shkaktojnë zgjedhje, megjithatë ato mund të votojnë në zgjedhje, të kenë një kopje të plotë dhe mund të pranojnë operacione leximi. Këto mund të jenë të dobishme në vendosjen e shumë qendrave të të dhënave.Priority 0
anëtarë, por për më tepër ata nuk mund të përpunojnë operacionet e leximit. Ata mund të votojnë nëse është e nevojshme. Detyrat e preferuara për këta anëtarë janë raportimi dhe kopjet rezervë.priority 0
nyje, dhe rekomandohet që ata të jenë hidden
gjithashtu një anëtar.Përpara vendosjes së një infrastrukture është e rëndësishme ta dizajnoni atë dhe ka pika që duhen marrë parasysh në këtë dizajn.
Mbani në mend se numri minimal i elementeve për të ndërtuar një grup Replica është 3. Ju mund të përzieni të tre llojet e nyjeve me një minimum prej një nyje primare dhe një dytësore.
Në këtë udhëzues ne po vendosim 3 anëtarë, një primar dhe dy sekondar standard.
Shënim: Rekomandohet që të ketë një numër maksimal prej 7 anëtarësh me të drejtë vote me një përzierje arbitrash dhe anëtarësh dytësorë.
Emri është vetëm për referencë, por ju po e përdorni atë në konfigurimin e grupit. Mbani në mend se mund të keni më shumë se një set Replica në mjedisin tuaj të prodhimit, ndaj mos e neglizhoni emrin e setit tuaj.
Ky tutorial inkurajon përdoruesin të zgjedhë emrin e grupit.
Ky udhëzues sugjeron të vendoset në të njëjtën qendër të dhënash në mënyrë që të shmangni problemet e komunikimit.
Shënim: Në rast të vendosjes në qendra të ndryshme të të dhënave, rekomandohet të mbështillni nyjet tuaja me një VPN
Hapni 3 nyje të Ubuntu 16.04 x64; në të njëjtin rajon nga portali i klientit tuaj, nëse është e mundur. Mos harroni t'i emërtoni ato në përputhje me llojin e projektit me të cilin keni të bëni dhe sigurohuni që të keni të njëjtën madhësi të serverit në të gjitha këto nyje.
Pasi të keni vendosur 3 nyjet tuaja, do të duhet të jeni të sigurt që çdo nyje mund të flasë me pjesën tjetër. Ju duhet të ssh në dy nyje dhe të arrini tek të tjerët duke përdorur ping -c 4 EXAMPLE_IP
. Ndryshoni EXAMPLE_IP
në IP-të aktuale të nyjeve tuaja.
Këtu mund të shihni një shembull të komunikimit të suksesshëm midis dy nyjeve.
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
Në përgjithësi mund të përdorni paketën MongoDB të Ubuntu, por është më mirë të përdorni repon zyrtare të komunitetit sepse është gjithmonë i përditësuar. Kjo repo përmban këto paketa:
mongod
daemon (procesi kryesor që trajton kërkesat për të dhëna).mongos
daemon (shërbim rrugëtimi për vendosjet e përbashkëta).mongo shell
ndërfaqja JavaScript.Vazhdoni me instalimin e paketave.
Importoni çelësin publik në sistemin e menaxhimit të paketave.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Krijo skedarin e listës për 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
Përditësoni bazën e të dhënave të paketës.
sudo apt-get update
Instaloni metapaketën MongoDB.
sudo apt-get install -y mongodb-org
Filloni shërbimin MongoDB.
sudo service mongod start
Tani mund ta hapni mongo shell
në çdo sesion bash. Për ta bërë këtë, duhet të përdorni mongo
komandën. Do të përshëndeteni nga diçka e ngjashme me këtë.
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*
>
Mos harroni të mbyllni shërbimin me sudo service mongod stop
, sepse më vonë do të fillojmë mongod
përsëri me disa parametra. Përsëriteni këtë proces në të 3 nyjet e grupit.
Përdorimi i një skedari kyç detyron dy koncepte në administrimin e Replica Set. E para është Internal Authentication
. Si parazgjedhje mund të filloni një mongo shell
sesion pa përdorur një përdorues dhe ky sesion do të ketë kontrollin e plotë të bazës së të dhënave, por kur përdorni një skedar kyç për vërtetim mongo shell
sesioni juaj arrin një gjendje të quajtur localhost exception
. Kjo gjendje ju lejon të krijoni vetëm përdoruesin e administratorit dhe grupin Replica. Koncepti i dytë është Role-Based Access Control
, ose me fjalë të tjera autorizimi. Kjo zbatohet për të qeverisur nivelet administrative në grupin Replica.
Skedari kyç është fjalëkalimi për t'u përdorur në grup, ky fjalëkalim duhet të jetë i njëjtë në të gjithë anëtarët e grupit. Për të rritur sigurinë, është e rëndësishme të përdorni një çelës të rastësishëm me mjetin e zgjedhur.
Përmbajtja duhet të jetë nga 6 deri në 1064 karaktere. Gjithashtu duhet të vendosni read only
lejen për skedarin kyç.
chmod 400 PATH_OF_YOUR_KEYFILE
Tani kopjoni skedarin tuaj kyç në çdo anëtar të grupit, ju lutemi përdorni një dosje të qëndrueshme për referencë në të ardhmen dhe mos e ruani atë në një medium të lëvizshëm.
Përdorni gjithashtu një dosje për skedarin që mongod
mund të hyjë.
Në këtë hap duhet të fillojmë mongod daemon
në çdo anëtar të grupit . Ekzistojnë dy mënyra për të filluar mongod
procesin: duke përdorur një skedar konfigurimi ose duke përdorur linjën e komandës. Të dyja janë metoda mjaft të lehta, por vetëm për thjeshtësi, ky tutorial përdor versionin e linjës së komandës.
Përdorni emrin që keni zgjedhur më parë në këtë komandë.
mongod --keyFile PATH_OF_YOUR_KEYFILE --replSet "YOUR_SET_NAME"
Si parazgjedhje mongod
nuk funksionon si një demon. Ju do të duhet të përdorni --fork
parametrin ose të përdorni për upstart
ta ekzekutuar plotësisht atë si një demon. Në këtë tutorial, ne nuk inkurajojmë ekzekutimin mongod
si një demon, kështu që ju mund të shihni regjistrat në terminalin tuaj direkt.
Shënim: Shkruani me kujdes emrin e grupit Replica sepse pasi të krijohet nuk mund ta ndryshoni atë.
Shënim: Nëse ekzekutoni mongod
si një proces jo-daemon, atëherë do t'ju duhet të hapni një lidhje tjetër ssh për të vazhduar punën.
Duhet të përdorni mongo
komandën për të hapur mongo shell
. Kjo mund të bëhet në çdo pjesë të grupit.
Në këtë moment jemi në një gjendje të quajtur localhost exception
. Kur përdoret një skedar kyç për konfigurimin e mongod
procesit, ju jeni të detyruar të krijoni një administrator të bazës së të dhënave përpara se të mund të aplikoni operacionet e leximit-shkrimit, por ne do ta shqyrtojmë atë më vonë.
Kjo është një pjesë delikate, ne po përdorim komandën rs.initiate()
brenda mongo shell
nga Hapi 4. Para se të përdorim këtë komandë le ta shqyrtojmë atë.
rs.initiate(
{
_id : <replicaSetName>,
members: [
{ _id : 0, host : "example1.net:27017" },
{ _id : 1, host : "example2.net:27017" },
{ _id : 2, host : "example3.net:27017" }
]
}
)
Fusha e parë _id
është një varg dhe duhet të përputhet me --replSet
atë që është kaluar më parë në mongod
. Gjithashtu, çdo vlerë e host
duhet të jetë ose ip ose emri i domenit të secilit anëtar të grupit Replica. Mos harroni të shtoni portin që shembulli i mongos po përdor në secilin anëtar.
Tani është koha për të ekzekutuar komandën me të dhënat tuaja në të, kjo do të shkaktojë një election
, pastaj një primar do të zgjidhet automatikisht.
Këtu duhet të keni parasysh se kursori juaj i guaskës ka ndryshuar në YOUR_SET_NAME:PRIMARY>
ose YOUR_SET_NAME:SECONDARY
. Kjo do të thotë që krijimi i një grupi ishte një sukses.
Për të vazhduar punën ju duhet të gjeni primary
, nëse sigurisht që nuk jeni në të. Përdorni rs.status()
komandën për të shfaqur informacionin e grupit Replica dhe gjeni vendndodhjen primary
. Ju jeni duke kërkuar për pronën "stateStr" : "PRIMARY"
.
Pasi të keni gjetur primary
, futni mongo shell
dhe ekzekutoni komandën tjetër duke përdorur të dhënat tuaja.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOU_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
admin = db.getSiblingDB("admin")
Pjesa na lejon të shkruani në admin
nga një bazë të dhënash të ndryshme. Kjo krijon një pseudonim të quajtur admin
, kështu që ne mund të ekzekutojmë komanda duke e përdorur në vend të tij.
Nëse operacioni është i suksesshëm, do të merrni një njoftim se përdoruesi është shtuar.
Successfully added user: {
"user" : "YOUR_USER",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
Në këtë pikë, ne kemi vetëm një administrator për të gjithë serverët, por të kesh një set Replica na detyron të kemi një përdorues me clusterAdmin
rolin. Ne do të krijojmë një përdorues tjetër me vetëm atë rol për të ndarë shqetësimet.
Ne kemi arritur kufirin e localhost exception
, prandaj duhet të ndryshojmë vërtetimin në përdoruesin e krijuar një hap më parë.
Ju mund të ndryshoni përdoruesit brenda mongo shell
me sa vijon.
db.getSiblingDB("admin").auth("YOUR_ADMIN", "YOUR_PASSWORD" )
Nëse nuk jeni lidhur tashmë me mongo shell
komandën, përdorni këtë komandë.
mongo -u "YOUR_ADMIN" -p "YOUR_PASSWORD" --authenticationDatabase "admin"
Do të njoftoheni për ndryshimin e një përdoruesi dhe mund të shkoni në hapin tjetër.
clusterAdmin
Roli i jep përdoruesit kontrollin e plotë të vendosur Replica. Krijimi i tij është po aq i lehtë sa krijimi i përdoruesit të administratorit.
db.getSiblingDB("admin").createUser(
{
"user" : "YOUR_USER",
"pwd" : "YOUR_PASSWORD",
roles: [ { "role" : "clusterAdmin", "db" : "admin" } ]
}
)
Vini re se këtë herë roli është ndryshuar nëclusterAdmin
.
Në këtë moment kemi 2 përdorues admin: një që ka kontroll të plotë mbi serverin dhe një tjetër që ka akses në detyrat administrative në nivelin e setit Replica. Megjithatë, na mungon një përdorues që ka akses për të "përdorur" një bazë të dhënash, kështu që ne do ta krijojmë atë përdorues tani.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOUR_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "cars" } ]
}
)
Vini re këtë herë ne po ndryshojmë db
pjesën, aty po vendosim bazën e të dhënave të aksesueshme për përdoruesin, në këtë rast po përdorim një bazë të dhënash me emrin cars
.
Baza e të dhënave nuk është krijuar ende. Për ta bërë këtë, do t'ju duhet të shkruani disa komanda për ta krijuar atë në mënyrë implicite. Kaloni në cars
bazën e të dhënave.
use cars
Do të merrni një njoftim: switched to db cars
.
Baza e të dhënave ende nuk është krijuar, për ta bërë këtë duhet të shkruani diçka në të. Ne po përdorim shembullin e mëposhtëm.
db.models.insert({ make: "Dodge", model: "Viper", year: 2010 })
Këtë herë do të njoftoheni me WriteResult({ "nInserted" : 1 })
.
Nëse dëshironi, mund t'i rikuperoni të gjitha objektet në bazën e të dhënave, me find()
metodën:
db.models.find()
{ "_id" : ObjectId("59acd8b55334882863541ff4"), "make" : "Dodge", "model" : "Viper", "year" : 2010 }
Vini re se _id
do të jetë e ndryshme në daljen tuaj, por të dhënat e tjera duhet të jenë të njëjta. Duke pasur kohë të mjaftueshme, këto të dhëna do t'u përsëriten anëtarëve të tjerë.
Krijimi i një grupi kopjesh mund të jetë sfidues në fillim, sepse ka shumë informacione për t'u kuptuar, por sapo të keni idenë pas tij, mund ta vendosni në një erë të lehtë, kështu që mos u dorëzoni nëse nuk mund ta kuptoni herën e parë. Mbani në mend se grupi Replica është i rëndësishëm në administrimin e MongoDB sepse hap mundësinë për të shtuar veçori të avancuara si Load Balancing.
Hyrje InfluxDB është një bazë të dhënash e serive kohore me burim të hapur, të shpërndarë, pa varësi të jashtme. Po, ju lexoni par. pa varësi të jashtme
Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë
Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë
Përdorimi i një sistemi të ndryshëm? Hyrje ArangoDB është një bazë të dhënash NoSQL me burim të hapur me një model fleksibël të dhënash për dokumente, grafikë dhe vlera-kyçe. Eshte
Laravel GitScrum, ose GitScrum është një mjet produktiviteti me burim të hapur i krijuar për të ndihmuar ekipet e zhvillimit të zbatojnë metodologjinë Scrum në një mënyrë të ngjashme.
Hyrje Në këtë shkrim-up, ecni mirë se si të bëni kopje rezervë të bazave të të dhënave të shumta MySQL ose MariaDB që qëndrojnë në të njëjtën makinë duke përdorur një skedar bash të personalizuar
OrientDB është një NoSQL DBMS me shumë modele të hapura të gjeneratës së ardhshme. Me mbështetjen për modele të shumta të të dhënave, OrientDB mund të sigurojë më shumë funksionalitet dhe fleksibilitet në
MongoDB nuk është i sigurt si parazgjedhje. Nëse po instaloni MongoDB dhe po e nisni pa e konfiguruar atë për vërtetim, do të keni një kohë të keqe
MySQL është softueri më popullor në botë që përdoret për bazat e të dhënave. Është shumë e rëndësishme të siguroheni që keni kopje rezervë të bazës së të dhënave tuaja. Kjo praktikë lejon
Hyrje PostgreSQL është një sistem i menaxhimit të bazës së të dhënave pa pagesë dhe me burim të hapur që mund të përdoret për të ruajtur informacione në lidhje me faqet e internetit. Gjithashtu njihet a
Që nga konceptimi i tij në 2009, MongoDB ka udhëhequr industrinë NoSQL. Një nga konceptet thelbësore të MongoDB është Replica Set, kështu që përpara se të punoni me i
MongoDB është një bazë të dhënash e shpejtë dhe e fuqishme NoSQL. Sidoqoftë, depot e Debian përditësohen ngadalë dhe shpesh përmbajnë versione shumë të vjetra të paketave. Ky tutorial
Barnyard2 është një mënyrë për të ruajtur dhe përpunuar rezultatet binare nga Snort në një bazë të dhënash MySQL. Para se të fillojmë Ju lutemi vini re se nëse nuk keni gërhitje
Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë
RockMongo është një mjet i Menaxhimit MongoDB i bazuar në ueb që është i ngjashëm me mjetin e Menaxhimit MySQL: phpMyAdmin. Ky tutorial do të mbulojë procesin e instalimit
Hyrje InfluxDB është një bazë të dhënash e bazuar në seri kohore e shkruar në Go. InfluxDB ka shumë përdorime praktike, një prej të cilave është ruajtja e të dhënave të monitorimit në serverë. Unë
MariaDB është një bazë të dhënash pa burim të hapur dhe është zëvendësimi më i përdorur për MySQL. Është bërë nga zhvilluesit e MySQL dhe synohet të mbetet
phpRedisAdmin është një aplikacion ueb që menaxhon bazat e të dhënave Redis me një ndërfaqe grafike intuitive të përdoruesit. Ky tutorial do të shpjegojë se si të instaloni
Përdorimi i një sistemi të ndryshëm? Hyrje ArangoDB është një bazë të dhënash NoSQL me burim të hapur me një model fleksibël të dhënash për dokumente, grafikë dhe vlera-kyçe. Eshte
Parakushtet Docker engine 1.8+. Minimumi 4 GB hapësirë në disk. Minimumi 4 GB RAM. Hapi 1. Instalo Docker Për të instaluar SQL-Server, Docker mus
Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.
A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.
Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.
Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.
Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…
Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.
Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.
Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.
Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.
Së fundmi Apple lëshoi macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë