InfluxDB diegimas Ubuntu 14
Įvadas InfluxDB yra atvirojo kodo, paskirstyta laiko eilučių duomenų bazė be jokių išorinių priklausomybių. Taip, jūs perskaitėte išorinių priklausomybių par
Nuo pat savo sukūrimo 2009 m. MongoDB pirmauja NoSQL pramonėje. Viena iš pagrindinių MongoDB koncepcijų yra replikų rinkinys, todėl prieš pradėdami dirbti su juo, pirmiausia peržiūrėkite koncepciją.
Paprasčiausias ryšio modelis, naudojamas replikuojant duomenų bazes, yra Master-Slave architektūra. Kaip rodo jo pavadinimas, šis modelis turi 2 vaidmenis, kurie yra paskirstyti unikaliame pagrindiniame ir daugybe vergų, valdančiojo vaidmuo yra apdoroti klientų atliekamas skaitymo ir rašymo operacijas, o vergai laikomi pagrindinio pagrindinio įrenginio kopija.
Svarbiausias šio modelio privalumas yra tas, kad pagrindinio mazgo našumui nenukenčia atsarginės kopijos operacijos, atsarginės operacijos atliekamos asinchroniniu būdu ir tai gali tapti rimta problema sugedus pagrindiniam mazgui. Pagrindiniai mazgai yra tik skaitomi ir turi būti rankiniu būdu perkelti į pagrindinį mazgą, todėl šiuo metu yra galimybė prarasti duomenis.
Vienas iš būdų, kaip išspręsti pasiekiamumo problemą, yra turėti daugiau nei vieną pagrindinį architektūrą, tačiau tai gali sukelti kitą problemą, susijusią su duomenų nuoseklumu tarp tų atvejų ir papildomo konfigūracijos sudėtingumo.
Dabar, atsižvelgiant į kontekstą, galime pristatyti MongoDB replikų rinkinio technologiją. Replikų rinkinys yra pagrindinio-pavaldžios architektūros, kuri turi automatinį perjungimą, pavadinimas, todėl tuo metu, kai pagrindinis primary
mazgas (kuris dabar pavadintas ) tinkamai neveikia, suaktyvėja election
valios ir naujas pirminis mazgas bus išrinktas iš likusių vergų ( dabar vadinama secondaries
).
Pirminis mazgas yra vienintelis, kuris atlieka rašymo operacijas, pagal numatytuosius nustatymus skaitymo operacijas taip pat tvarko pagrindinis, tačiau vėliau šią elgseną galima pakeisti.
Operacijos įrašomos į oplog
(operacijų žurnalą), tada antriniai mazgai atnaujina savo turinį asinchroniškai pagaloplog
Pastaba: oplog
yra ribota kolekcija, tai reiškia, kad kolekcija turi limitą, nes local.oplog.rs
galite patikrinti šios kolekcijos turinį mongo apvalkale bet kuriame rinkinio naryje.
Be to, kad antrinis mazgas atlieka tinkamą duomenų bazės atsarginę kopiją, jis atlieka šiuos vaidmenis:
Dėl šių savybių galime turėti įvairių tipų antrinius mazgus:
primary
ir suaktyvinti rinkimų, vis tiek gali balsuoti rinkimuose, turėti pilną kopiją ir priimti skaitymo operacijas. Tai gali būti naudinga diegiant kelis duomenų centrus.Priority 0
nariai, bet be to, jie negali apdoroti skaitymo operacijų. Prireikus jie gali balsuoti. Pageidaujamos užduotys šiems nariams yra ataskaitų teikimas ir atsarginių kopijų kūrimas.priority 0
mazgas, ir rekomenduojama, kad jie hidden
taip pat būtų nariu.Prieš diegiant infrastruktūrą svarbu ją suprojektuoti, o projektuojant reikia atsižvelgti į dalykus.
Atminkite, kad minimalus elementų skaičius, norint sukurti replikų rinkinį, yra 3. Galite maišyti trijų tipų mazgus su mažiausiai vienu pirminiu ir vienu antriniu mazgu.
Šiame vadove mes diegiame 3 narius, vieną pagrindinį ir du standartinius antrinius.
Pastaba: rekomenduojama turėti ne daugiau kaip 7 balsavimo teisę turinčius narius su arbitrų ir antrinių narių deriniu.
Pavadinimas yra tik nuoroda, bet jūs jį naudojate rinkinio konfigūracijoje. Atminkite, kad gamybinėje aplinkoje galite turėti daugiau nei vieną replikų rinkinį, todėl nepamirškite rinkinio pavadinimo.
Ši pamoka skatina vartotoją pasirinkti rinkinio pavadinimą.
Šioje mokymo programoje siūloma įdiegti tame pačiame duomenų centre, kad išvengtumėte ryšio problemų.
Pastaba: diegiant skirtinguose duomenų centruose, mazgus rekomenduojama apgaubti VPN
Paleiskite 3 Ubuntu 16.04 x64 mazgus; tame pačiame regione iš savo klientų portalo, jei įmanoma. Nepamirškite jų pavadinti atitinkamai pagal projekto, su kuriuo susiduriate, tipą ir įsitikinkite, kad visuose šiuose mazguose yra toks pat serverio dydis.
Įdiegę 3 mazgus, turėsite būti tikri, kad kiekvienas mazgas gali kalbėtis su likusiais. Turite įjungti ssh į du mazgus ir pasiekti kitus naudodami ping -c 4 EXAMPLE_IP
. Pakeiskite EXAMPLE_IP
į tikrus mazgų IP adresus.
Čia galite pamatyti sėkmingo ryšio tarp dviejų mazgų pavyzdį.
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
Apskritai galite naudoti Ubuntu MongoDB paketą, tačiau geriau naudoti oficialų bendruomenės atpirkimą, nes jis visada yra atnaujintas. Šiame atpirkimo sandoryje yra šie paketai:
mongod
demonas (pirminis procesas, apdorojantis duomenų užklausas).mongos
demonas (maršruto parinkimo paslauga, skirta bendriems diegimams ).mongo shell
JavaScript sąsaja.Pereikite prie paketų diegimo.
Importuokite viešąjį raktą į paketų valdymo sistemą.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Sukurkite MongoDB sąrašo failą „/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
Atnaujinkite paketų duomenų bazę.
sudo apt-get update
Įdiekite MongoDB metapaketą.
sudo apt-get install -y mongodb-org
Paleiskite MongoDB paslaugą.
sudo service mongod start
Dabar galite atidaryti mongo shell
bet kurioje bash sesijoje. Norėdami tai padaryti, turite naudoti mongo
komandą. Jus pasitiks kažkas panašaus į šį.
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*
>
Nepamirškite išjungti paslaugos naudodami sudo service mongod stop
, nes vėliau mongod
vėl pradėsime nuo kai kurių parametrų. Pakartokite šį procesą visuose 3 rinkinio mazguose.
Naudojant raktinį failą, replikų rinkinio administracijoje taikomos dvi sąvokos. Pirmasis yra Internal Authentication
. Pagal numatytuosius nustatymus galite pradėti mongo shell
seansą nenaudodami vartotojo ir ši sesija visiškai valdys duomenų bazę, tačiau kai autentifikavimui naudojate raktinį failą, mongo shell
seansas pasiekia būseną, vadinamą localhost exception
. Ši būsena leidžia tik sukurti administratoriaus vartotoją ir kopijų rinkinį. Antroji sąvoka yra Role-Based Access Control
, arba, kitaip tariant, leidimas. Tai taikoma norint valdyti kopijų rinkinio administracinius lygius.
Rakto failas yra slaptažodis, kurį reikia naudoti rinkinyje, šis slaptažodis turi būti vienodas visuose rinkinio nariuose. Siekiant padidinti saugumą, svarbu naudoti atsitiktinį raktą su pasirinktu įrankiu.
Turinys turi būti nuo 6 iki 1064 simbolių ilgio. Taip pat turite nustatyti read only
rakto failo leidimą.
chmod 400 PATH_OF_YOUR_KEYFILE
Dabar nukopijuokite savo raktinį failą į kiekvieną rinkinio narį, naudokite nuoseklų aplanką ateityje ir nelaikykite jo keičiamoje laikmenoje.
Taip pat naudokite aplanką failui, kurį mongod
galima pasiekti.
Šiame žingsnyje turime pradėti mongod daemon
kiekvieno rinkinio narį . Yra du būdai pradėti mongod
procesą: naudojant konfigūracijos failą arba naudojant komandinę eilutę. Abu metodai yra gana paprasti, tačiau dėl paprastumo šioje pamokoje naudojama komandų eilutės versija.
Naudokite pavadinimą, kurį pasirinkote anksčiau šioje komandoje.
mongod --keyFile PATH_OF_YOUR_KEYFILE --replSet "YOUR_SET_NAME"
Pagal numatytuosius nustatymus mongod
neveikia kaip demonas. Turėsite naudoti --fork
parametrą arba naudoti , kad upstart
jį visiškai paleistumėte kaip demoną. Šioje pamokoje mes neskatiname veikti mongod
kaip demonas, kad galėtumėte tiesiogiai matyti žurnalus savo terminale.
Pastaba: Atsargiai įveskite replikų rinkinio pavadinimą, nes sukūrę jo pakeisti negalėsite.
Pastaba: jei vykdote mongod
kaip ne demono procesą, turėsite atidaryti kitą ssh ryšį, kad galėtumėte tęsti darbą.
Norėdami mongo
atidaryti , turite naudoti komandą mongo shell
. Tai galima padaryti bet kuriame rinkinio naryje.
Šiuo metu mes esame būsenoje, vadinamoje localhost exception
. Kai mongod
procesui nustatyti naudojamas rakto failas, prieš taikydami skaitymo ir rašymo operacijas privalote sukurti duomenų bazės administratorių, tačiau apie tai pakalbėsime vėliau.
Tai subtili dalis, mes naudojame komandą rs.initiate()
viduje mongo shell
nuo 4 veiksmo. Prieš naudodami šią komandą, peržiūrėkime ją.
rs.initiate(
{
_id : <replicaSetName>,
members: [
{ _id : 0, host : "example1.net:27017" },
{ _id : 1, host : "example2.net:27017" },
{ _id : 2, host : "example3.net:27017" }
]
}
)
Pirmasis _id
laukas yra eilutė ir turi atitikti tą, --replSet
kuri buvo perduota prieš mongod
. Be to, kiekviena reikšmė host
turi būti kiekvieno replikų rinkinio nario ip arba domeno pavadinimas. Nepamirškite pridėti prievado, kurį mongo egzempliorius naudoja kiekviename naryje.
Dabar atėjo laikas vykdyti komandą su savo duomenimis, tai suaktyvins election
, tada automatiškai bus išrinktas pirminis.
Čia turėtumėte atkreipti dėmesį, kad jūsų apvalkalo žymeklis pasikeitė į YOUR_SET_NAME:PRIMARY>
arba YOUR_SET_NAME:SECONDARY
. Tai reiškia, kad sukurti rinkinį pavyko.
Norėdami tęsti darbą, turite rasti primary
, jei, žinoma, jo nesate. Naudokite rs.status()
komandą, kad parodytumėte replikų rinkinio informaciją ir raskite primary
. Jūs ieškote turto "stateStr" : "PRIMARY"
.
Suradę primary
, įveskite mongo shell
ir paleiskite kitą komandą naudodami savo duomenis.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOU_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
admin = db.getSiblingDB("admin")
Dalis leidžia mums rašyti į admin
iš skirtingų duomenų bazę. Tai sukuria slapyvardį, vadinamą admin
, todėl galime vykdyti komandas naudodami jį.
Jei operacija bus sėkminga, gausite pranešimą, kad vartotojas buvo pridėtas.
Successfully added user: {
"user" : "YOUR_USER",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
Šiuo metu turime tik visų serverių administratorių, tačiau turėdami replikos rinkinį, turime turėti vartotoją, turintį šį clusterAdmin
vaidmenį. Sukursime kitą naudotoją, kuris turės tik tą vaidmenį, kad atskirtume problemas.
Pasiekėme ribą, localhost exception
todėl turime pakeisti autentifikavimą į vartotoją, sukurtą prieš vieną žingsnį.
Galite pakeisti naudotojus viduje mongo shell
naudodami toliau nurodytus veiksmus.
db.getSiblingDB("admin").auth("YOUR_ADMIN", "YOUR_PASSWORD" )
Jei dar neprisijungėte prie šios, mongo shell
naudokite šią komandą.
mongo -u "YOUR_ADMIN" -p "YOUR_PASSWORD" --authenticationDatabase "admin"
Jums bus pranešta apie vartotojo pakeitimą ir galėsite pereiti prie kito žingsnio.
Šis clusterAdmin
vaidmuo suteikia vartotojui visišką replikų rinkinio kontrolę. Sukurti jį taip pat paprasta, kaip sukurti administratoriaus vartotoją.
db.getSiblingDB("admin").createUser(
{
"user" : "YOUR_USER",
"pwd" : "YOUR_PASSWORD",
roles: [ { "role" : "clusterAdmin", "db" : "admin" } ]
}
)
Atminkite, kad šį kartą vaidmuo pakeistas įclusterAdmin
.
Šiuo metu turime 2 administratorius: vienas visiškai valdo serverį, o kitas turi prieigą prie administracinių užduočių kopijos rinkinio lygiu. Tačiau mums trūksta vartotojo, kuris galėtų „naudoti“ duomenų bazę, todėl dabar sukursime tą vartotoją.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOUR_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "cars" } ]
}
)
Atkreipkite dėmesį, kad šį kartą keičiame db
dalį, ten pateikiame vartotojui prieinamą duomenų bazę, šiuo atveju naudojame duomenų bazę pavadinimu cars
.
Duomenų bazė dar nesukurta. Norėdami tai padaryti, turėsite įvesti kai kurias komandas, kad netiesiogiai ją sukurtumėte. Perjungti į cars
duomenų bazę.
use cars
Gausite pranešimą: switched to db cars
.
Duomenų bazė vis dar nesukurta, tam reikia ką nors į ją įrašyti. Mes naudojame toliau pateiktą pavyzdį.
db.models.insert({ make: "Dodge", model: "Viper", year: 2010 })
Šį kartą jums bus pranešta su WriteResult({ "nInserted" : 1 })
.
Jei norite, visus duomenų bazės objektus galite nuskaityti tokiu find()
būdu:
db.models.find()
{ "_id" : ObjectId("59acd8b55334882863541ff4"), "make" : "Dodge", "model" : "Viper", "year" : 2010 }
Atminkite, kad _id
jūsų išvestis skirsis, tačiau kiti duomenys turėtų būti tokie patys. Skiriant pakankamai laiko, šie duomenys bus pakartoti kitiems nariams.
Sukurti kopijų rinkinį iš pradžių gali būti sudėtinga, nes reikia suprasti daug informacijos, tačiau kai tik suprasite idėją, galėsite ją greitai panaudoti, todėl nepasiduokite, jei negalite jos suprasti pirmą kartą. Atminkite, kad replikų rinkinys yra svarbus MongoDB administravimui, nes jis suteikia galimybę pridėti papildomų funkcijų, tokių kaip apkrovos balansavimas.
Įvadas InfluxDB yra atvirojo kodo, paskirstyta laiko eilučių duomenų bazė be jokių išorinių priklausomybių. Taip, jūs perskaitėte išorinių priklausomybių par
Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.
Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.
Naudojate kitą sistemą? Įvadas ArangoDB yra atvirojo kodo NoSQL duomenų bazė su lanksčiu duomenų modeliu dokumentams, grafikams ir raktų reikšmėms. tai yra
Laravel GitScrum arba GitScrum yra atvirojo kodo produktyvumo įrankis, skirtas padėti kūrimo komandoms įgyvendinti Scrum metodiką panašiai
Įvadas Šiame rašte gerai apžvelkite, kaip sukurti kelių MySQL arba MariaDB duomenų bazių, esančių tame pačiame kompiuteryje, atsargines kopijas naudojant pasirinktinį bash scenarijų.
OrientDB yra naujos kartos kelių modelių atvirojo kodo NoSQL DBVS. Palaikydamas kelis duomenų modelius, „OrientDB“ gali suteikti daugiau funkcionalumo ir lankstumo
„MongoDB“ nėra saugus pagal numatytuosius nustatymus. Jei diegiate MongoDB ir paleidžiate jį nesukonfigūravę autentifikavimui, jums bus blogai
MySQL yra populiariausia programinė įranga pasaulyje, naudojama duomenų bazėms. Labai svarbu įsitikinti, kad turite atsargines duomenų bazės kopijas. Ši praktika leidžia
Įvadas PostgreSQL yra nemokama atvirojo kodo duomenų bazių valdymo sistema, kuri gali būti naudojama su svetainėmis susijusiai informacijai saugoti. Taip pat žinomas a
Būtinos sąlygos Vultr serveris, kuriame veikia atnaujinta Arch Linux (žr. šį straipsnį). Sudo prieiga. Komandos, kurias reikia vykdyti kaip root, priešdėliuose yra # ir vienas
Nuo pat savo sukūrimo 2009 m. MongoDB pirmauja NoSQL pramonėje. Viena iš pagrindinių MongoDB koncepcijų yra replikų rinkinys, todėl prieš pradėdami dirbti su i
MongoDB yra greita ir galinga NoSQL duomenų bazė. Tačiau „Debian“ saugyklos atnaujinamos lėtai ir dažnai jose yra labai senų paketų versijų. Ši pamoka
Barnyard2 yra būdas saugoti ir apdoroti dvejetainius Snort išėjimus į MySQL duomenų bazę. Prieš pradedant Atkreipkite dėmesį, kad jei jūs neknarkiate
Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.
RockMongo yra internetinis MongoDB valdymo įrankis, panašus į MySQL valdymo įrankį: phpMyAdmin. Ši pamoka apims diegimo procesą
Įvadas InfluxDB yra laiko eilėmis pagrįsta duomenų bazė, parašyta Go. „InfluxDB“ turi daug praktinio naudojimo, vienas iš jų yra stebėjimo duomenų saugojimas serveriuose. aš
MariaDB yra nemokama atvirojo kodo duomenų bazė ir yra plačiausiai naudojamas „MySQL“ pakaitalas. Jį sukūrė „MySQL“ kūrėjai ir jis skirtas „remai“.
phpRedisAdmin yra žiniatinklio programa, valdanti Redis duomenų bazes su intuityvia grafine vartotojo sąsaja. Šioje pamokoje bus paaiškinta, kaip įdiegti
Naudojate kitą sistemą? Įvadas ArangoDB yra atvirojo kodo NoSQL duomenų bazė su lanksčiu duomenų modeliu dokumentams, grafikams ir raktų reikšmėms. tai yra
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį