InfluxDB:n asentaminen Ubuntu 14:ään
Johdanto InfluxDB on avoimen lähdekoodin hajautettu aikasarjatietokanta, jossa ei ole ulkoisia riippuvuuksia. Kyllä, luit ei ulkoisia riippuvuuksia par
Sen perustamisesta vuonna 2009 lähtien MongoDB on johtanut NoSQL-alaa. Yksi MongoDB:n ydinkonsepteista on Replica Set, joten ennen kuin työskentelet sen kanssa, käydään konsepti läpi.
Yksinkertaisin tietokantojen replikaatiossa käytetty viestintämalli on Master-Slave-arkkitehtuuri. Kuten sen nimestä voi päätellä, tässä mallissa on 2 roolia, jotka on hajautettu yksilölliseen isäntään ja useisiin orjiin, isäntälaitteen tehtävänä on käsitellä asiakkaiden tekemiä luku- ja kirjoitustoimintoja, ja orjia käsitellään isäntäkoneen kopiona.
Tämän mallin tärkein etu on se, että varmuuskopiointitoiminnot eivät vaaranna isäntälaitteen suorituskykyä, varmuuskopiointitoiminnot tehdään asynkronisesti ja tästä voi tulla vakava ongelma pääsolmun epäonnistuessa. Orjasolmut ovat vain luku -tilassa ja ne on ylennettävä manuaalisesti isäntäsolmuksi, joten tänä aikana on mahdollista menettää tietoja.
Yksi vaihtoehto saatavuusongelman ratkaisemiseksi on, että arkkitehtuurissa on useampi kuin yksi isäntä, mutta tämä voi johtaa toiseen ongelmaan tietojen johdonmukaisuudessa näiden ilmentymien välillä ja konfiguroinnin monimutkaisuuteen.
Nyt kontekstissa voimme esitellä MongoDB: n Replica Set -teknologian. Replica Set on Master-Slave-arkkitehtuurin nimi, jossa on automaattinen vikasietoisuus, joten sillä hetkellä, kun primary
isäntäsolmu (jonka nyt on nimetty ) ei toimi kunnolla, tulee election
tahdon liipaisu ja uusi ensisijainen solmu valitaan jäljellä olevista orjista ( kutsutaan nyt nimellä secondaries
).
Ensisijainen solmu on ainoa, joka suorittaa kirjoitustoimintoja, oletusarvoisesti lukutoiminnot hoitaa myös ensisijainen solmu, mutta tätä toimintaa voidaan muuttaa myöhemmin.
Toiminnot tallennetaan oplog
(operaatiolokiin), jonka jälkeen toissijaiset solmut päivittävät sisältönsä asynkronisesti sen sisällön perusteella.oplog
Huomautus: oplog
on rajattu kokoelma, tämä tarkoittaa, että kokoelmalla on raja, jonka avulla local.oplog.rs
voit tarkistaa tämän kokoelman sisällön mongo-kuoren sisällä missä tahansa joukon jäsenessä.
Sen lisäksi, että toissijainen solmu tekee oikean varmuuskopion tietokannasta, sillä on seuraavat roolit:
Näiden ominaisuuksien ansiosta meillä voi olla erityyppisiä toissijaisia solmuja:
primary
eivätkä ne voi laukaista vaaleja, mutta silti ne voivat äänestää vaaleissa, niillä on täydellinen kopio ja ne voivat hyväksyä lukutoimintoja. Nämä voivat olla hyödyllisiä usean datakeskuksen käyttöönotossa.Priority 0
jäseniä, mutta he eivät myöskään voi käsitellä lukutoimintoja. He voivat tarvittaessa äänestää. Näiden jäsenten ensisijaiset tehtävät ovat raportointi ja varmuuskopiointi.priority 0
solmu, ja on suositeltavaa, että ne ovat myös hidden
jäsen.Ennen infrastruktuurin käyttöönottoa on tärkeää suunnitella se, ja tässä suunnittelussa on huomioitavia kohtia.
Muista, että elementtien vähimmäismäärä replikajoukon muodostamiseksi on 3. Voit sekoittaa kolmen tyyppisiä solmuja vähintään yhden ensisijaisen ja yhden toissijaisen solmun kanssa.
Tässä oppaassa otamme käyttöön 3 jäsentä, yhden ensisijaisen ja kaksi tavallista toissijaista.
Huomautus: On suositeltavaa olla enintään 7 äänivaltaista jäsentä sekä välimiehiä ja toissijaisia jäseniä.
Nimi on vain viitteellinen, mutta käytät sitä sarjan kokoonpanossa. Muista, että tuotantoympäristössäsi voi olla useampi kuin yksi replikasarja, joten älä unohda sarjasi nimeä.
Tämä opetusohjelma rohkaisee käyttäjää valitsemaan joukon nimen.
Tämä opetusohjelma ehdottaa käyttöönottoa samassa datakeskuksessa, jotta voit välttää viestintäongelmia.
Huomautus: Jos käytät eri tietokeskuksissa, on suositeltavaa ympäröidä solmut VPN:llä
Käynnistä 3 Ubuntu 16.04 x64 -solmua; samalla alueella asiakasportaalistasi, jos mahdollista. Älä unohda nimetä niitä käsittelemäsi projektin tyypin mukaan ja varmista, että kaikissa näissä solmuissa on sama palvelinkoko.
Kun olet ottanut käyttöön 3 solmuasi, sinun on varmistettava, että jokainen solmu voi puhua muiden kanssa. Sinun täytyy ssh kahteen solmuun ja tavoittaa muut käyttämällä ping -c 4 EXAMPLE_IP
. Vaihda EXAMPLE_IP
solmujesi todellisiin IP-osoitteisiin.
Tässä on esimerkki onnistuneesta tiedonsiirrosta kahden solmun välillä.
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
Yleensä voit käyttää Ubuntun MongoDB-pakettia, mutta on parempi käyttää virallista yhteisön repoa, koska se on aina ajan tasalla. Tämä repo sisältää nämä paketit:
mongod
demonin (ensisijainen prosessi, joka käsittelee tietopyyntöjä).mongos
daemonin (reitityspalvelu jaetuille käyttöönottoille).mongo shell
JavaScript-käyttöliittymä.Jatka pakettien asentamiseen.
Tuo julkinen avain paketinhallintajärjestelmään.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Luo luettelotiedosto MongoDB:lle '/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äivitä pakettitietokanta.
sudo apt-get update
Asenna MongoDB-metapaketti.
sudo apt-get install -y mongodb-org
Käynnistä MongoDB-palvelu.
sudo service mongod start
Nyt voit avata mongo shell
missä tahansa bash-istunnossa. Tätä varten sinun on käytettävä mongo
komentoa. Sinua tervehtii jotain tämän kaltaista.
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*
>
Älä unohda sulkea palvelua -painikkeella sudo service mongod stop
, koska myöhemmin aloitamme mongod
uudelleen joillakin parametreilla. Toista tämä prosessi joukon kaikissa kolmessa solmussa.
Avaintiedoston käyttö pakottaa kaksi konseptia replikajoukon hallintaan. Ensimmäinen on Internal Authentication
. Oletuksena voit aloittaa mongo shell
istunnon ilman käyttäjää, ja tämä istunto hallitsee tietokantaa täysin, mutta kun käytät avaintiedostoa todentamiseen, mongo shell
istunto saavuttaa tilan nimeltä localhost exception
. Tässä tilassa voit luoda vain järjestelmänvalvojan käyttäjän ja replikajoukon. Toinen käsite on Role-Based Access Control
, eli toisin sanoen valtuutus. Tämä on pakotettu hallitsemaan kopiojoukon hallintatasoja.
Avaintiedosto on joukossa käytettävä salasana, tämän salasanan on oltava sama kaikissa joukon jäsenissä. Turvallisuuden lisäämiseksi on tärkeää käyttää satunnaista avainta valitsemasi työkalun kanssa.
Sisällön tulee olla 6–1064 merkkiä pitkä. Sinun on myös asetettava read only
avaintiedoston käyttöoikeudet.
chmod 400 PATH_OF_YOUR_KEYFILE
Kopioi nyt avaintiedostosi jokaiselle joukon jäsenelle. Käytä johdonmukaista kansiota myöhempää käyttöä varten äläkä tallenna sitä siirrettävälle tietovälineelle.
Käytä myös kansiota tiedostolle, jota mongod
voi käyttää.
Tässä vaiheessa meidän on aloitettava mongod daemon
jokaisessa joukossa jäsen . mongod
Prosessi voidaan aloittaa kahdella tavalla : käyttämällä konfigurointitiedostoa tai komentoriviä. Molemmat ovat melko helppoja menetelmiä, mutta yksinkertaisuuden vuoksi tämä opetusohjelma käyttää komentoriviversiota.
Käytä aiemmin tässä komennossa valitsemaasi nimeä.
mongod --keyFile PATH_OF_YOUR_KEYFILE --replSet "YOUR_SET_NAME"
Oletuksena mongod
ei toimi demonina. Sinun tulee käyttää --fork
parametria tai käyttää sitä upstart
suorittaaksesi sen kokonaan demonina. Tässä opetusohjelmassa emme suosittele ajamista mongod
demonina, jotta voit nähdä lokit suoraan päätteeseesi.
Huomautus: Kirjoita replikajoukon nimi huolellisesti, koska sen luomisen jälkeen et voi muuttaa sitä.
Huomautus: Jos käytät mongod
ei-daemon-prosessia, sinun on avattava toinen ssh-yhteys jatkaaksesi työtä.
Sinun on käytettävä mongo
komentoa avataksesi mongo shell
. Tämä voidaan tehdä missä tahansa sarjan jäsenessä.
Tällä hetkellä olemme tilassa nimeltä localhost exception
. Kun mongod
prosessin määrittämiseen käytetään avaintiedostoa , sinun on luotava tietokannan ylläpitäjä ennen kuin voit käyttää luku-kirjoitustoimintoja, mutta käsittelemme sitä myöhemmin.
Tämä on herkkä osa, käytämme komentoa rs.initiate()
sisällä mongo shell
vaiheesta 4. ennen tämän komennon Tarkastellaan sitä.
rs.initiate(
{
_id : <replicaSetName>,
members: [
{ _id : 0, host : "example1.net:27017" },
{ _id : 1, host : "example2.net:27017" },
{ _id : 2, host : "example3.net:27017" }
]
}
)
Ensimmäinen _id
kenttä on merkkijono, ja sen on vastattava sitä, --replSet
joka välitettiin ennen kenttään mongod
. Lisäksi jokaisen arvon host
on oltava joko ip- tai verkkotunnuksen nimi jokaiselle replikajoukon jäsenelle. Älä unohda liittää porttia, jota mongo-ilmentymä käyttää jokaisessa jäsenessä.
Nyt on aika suorittaa komento tietojesi kanssa, tämä laukaisee election
, jolloin ensisijainen valitaan automaattisesti.
Tässä tulee huomioida, että shell-kohdistimesi on muuttunut muotoon YOUR_SET_NAME:PRIMARY>
tai YOUR_SET_NAME:SECONDARY
. Tämä tarkoittaa, että sarjan luominen oli menestys.
Jatkaksesi työskentelyä sinun on löydettävä primary
, jos et tietenkään ole siinä. Käytä rs.status()
komentoa näyttääksesi replikajoukon tiedot ja paikantaaksesi primary
. Olet etsimässä kiinteistöä "stateStr" : "PRIMARY"
.
Kun olet löytänyt primary
, kirjoita mongo shell
ja suorita seuraava komento käyttämällä tietojasi.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOU_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
admin = db.getSiblingDB("admin")
Osa antaa meidän kirjoittamaan admin
toisesta tietokannasta. Tämä luo aliaksen nimeltä admin
, joten voimme sen sijaan suorittaa komentoja käyttämällä sitä.
Jos toiminto onnistuu, saat ilmoituksen, että käyttäjä on lisätty.
Successfully added user: {
"user" : "YOUR_USER",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
Tällä hetkellä meillä on vain järjestelmänvalvoja kaikille palvelimille, mutta Replica-joukon saaminen pakottaa meidät luomaan käyttäjän, jolla on clusterAdmin
rooli. Luomme toisen käyttäjän, jolla on vain tämä rooli, jotta voimme erottaa huolenaiheet.
Olemme saavuttaneet rajan localhost exception
, minkä vuoksi meidän on vaihdettava todennus vaihetta aiemmin luotuun käyttäjään.
Voit vaihtaa käyttäjiä sisällä mongo shell
seuraavilla tavoilla.
db.getSiblingDB("admin").auth("YOUR_ADMIN", "YOUR_PASSWORD" )
Jos et ole vielä muodostanut yhteyttä, mongo shell
käytä tätä komentoa sen sijaan.
mongo -u "YOUR_ADMIN" -p "YOUR_PASSWORD" --authenticationDatabase "admin"
Saat ilmoituksen käyttäjän vaihdosta ja voit siirtyä seuraavaan vaiheeseen.
clusterAdmin
Rooli antaa käyttäjälle täyden kontrollin replikointijoukon. Sen luominen on yhtä helppoa kuin järjestelmänvalvojan luominen.
db.getSiblingDB("admin").createUser(
{
"user" : "YOUR_USER",
"pwd" : "YOUR_PASSWORD",
roles: [ { "role" : "clusterAdmin", "db" : "admin" } ]
}
)
Huomaa, että tällä kertaa rooliksi on muutettuclusterAdmin
.
Tällä hetkellä meillä on 2 admin-käyttäjää: yksi, joka hallitsee palvelinta täydellisesti, ja toinen, jolla on pääsy järjestelmänvalvojan tehtäviin Replica-joukon tasolla. Meiltä kuitenkin puuttuu käyttäjä, jolla on pääsy "käyttää" tietokantaa, joten luomme kyseisen käyttäjän nyt.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOUR_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "cars" } ]
}
)
Huomaa tällä kertaa, että muutamme db
osaa, siellä laitamme tietokannan käyttäjän saataville, tässä tapauksessa käytämme tietokantaa nimeltä cars
.
Tietokantaa ei ole vielä luotu. Tätä varten sinun on kirjoitettava joitain komentoja sen luomiseksi implisiittisesti. Vaihda cars
tietokantaan.
use cars
Saat ilmoituksen: switched to db cars
.
Tietokantaa ei ole vieläkään luotu, joten sinun on kirjoitettava siihen jotain. Käytämme seuraavaa esimerkkiä.
db.models.insert({ make: "Dodge", model: "Viper", year: 2010 })
Tällä kertaa sinulle ilmoitetaan WriteResult({ "nInserted" : 1 })
.
Halutessasi voit hakea kaikki tietokannan objektit seuraavalla find()
menetelmällä:
db.models.find()
{ "_id" : ObjectId("59acd8b55334882863541ff4"), "make" : "Dodge", "model" : "Viper", "year" : 2010 }
Huomaa, että _id
tulos on erilainen, mutta muiden tietojen tulee olla samat. Jos aikaa on riittävästi, nämä tiedot kopioidaan muille jäsenille.
Replica-sarjan luominen voi olla aluksi haastavaa, koska siinä on paljon ymmärrettävää tietoa, mutta kun saat idean sen takana, voit ottaa sen käyttöön nopeasti, joten älä anna periksi, jos et ymmärrä sitä ensimmäisellä kerralla. Muista, että Replica-sarja on tärkeä MongoDB-hallinnassa, koska se avaa mahdollisuuden lisätä edistyneitä ominaisuuksia, kuten kuormituksen tasapainotusta.
Johdanto InfluxDB on avoimen lähdekoodin hajautettu aikasarjatietokanta, jossa ei ole ulkoisia riippuvuuksia. Kyllä, luit ei ulkoisia riippuvuuksia par
Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.
Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.
Käytätkö erilaista järjestelmää? Johdanto ArangoDB on avoimen lähdekoodin NoSQL-tietokanta, jossa on joustava tietomalli asiakirjoille, kaavioille ja avainarvoille. se on
Laravel GitScrum tai GitScrum on avoimen lähdekoodin tuottavuustyökalu, joka on suunniteltu auttamaan kehitysryhmiä ottamaan käyttöön Scrum-metodologian samalla tavalla.
Johdanto Tässä kirjoituksessa käydään läpi kuinka varmuuskopioida useita samassa koneessa olevia MySQL- tai MariaDB-tietokantoja mukautetulla bash-skriptillä
OrientDB on seuraavan sukupolven monimalli avoimen lähdekoodin NoSQL DBMS. Useiden tietomallien tuella OrientDB voi tarjota enemmän toimintoja ja joustavuutta
MongoDB ei ole oletuksena suojattu. Jos asennat MongoDB:n ja käynnistät sen määrittämättä sitä todennusta varten, sinulla tulee olemaan huono aika
MySQL on maailman suosituin tietokantoihin käytettävä ohjelmisto. On erittäin tärkeää varmistaa, että sinulla on varmuuskopiot tietokannastasi. Tämä käytäntö sallii
Johdanto PostgreSQL on ilmainen ja avoimen lähdekoodin tietokannan hallintajärjestelmä, jota voidaan käyttää verkkosivustoihin liittyvän tiedon tallentamiseen. Tunnetaan myös a
Edellytykset Vultr-palvelin, jossa on ajan tasalla Arch Linux (katso tämä artikkeli.) Sudo-käyttö. Pääkäyttäjänä suoritettavat komennot on liitetty # ja yksi eteen
Sen perustamisesta vuonna 2009 lähtien MongoDB on johtanut NoSQL-alaa. Yksi MongoDB:n ydinkonsepteista on Replica Set, joten ennen kuin alat työskennellä i:n kanssa
MongoDB on nopea ja tehokas NoSQL-tietokanta. Debian-varastot päivittyvät kuitenkin hitaasti ja sisältävät usein hyvin vanhoja pakettien versioita. Tämä opetusohjelma
Barnyard2 on tapa tallentaa ja käsitellä Snortin binääritulokset MySQL-tietokantaan. Ennen kuin aloitamme Huomaa, että jos sinulla ei ole kuorsausta
Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.
RockMongo on verkkopohjainen MongoDB-hallintatyökalu, joka on samanlainen kuin MySQL-hallintatyökalu: phpMyAdmin. Tämä opetusohjelma kattaa asennusprosessin
Johdanto InfluxDB on Go-kielellä kirjoitettu aikasarjapohjainen tietokanta. InfluxDB:llä on monia käytännön käyttötarkoituksia, joista yksi on seurantatietojen tallentaminen palvelimille. minä
MariaDB on ilmainen avoimen lähdekoodin tietokanta, ja se on laajimmin käytetty korvike MySQL:lle. Sen ovat tehneet MySQL:n kehittäjät ja se on tarkoitettu jatkokäyttöön
phpRedisAdmin on verkkosovellus, joka hallitsee Redis-tietokantoja intuitiivisella graafisella käyttöliittymällä. Tämä opetusohjelma selittää kuinka asennus tehdään
Käytätkö erilaista järjestelmää? Johdanto ArangoDB on avoimen lähdekoodin NoSQL-tietokanta, jossa on joustava tietomalli asiakirjoille, kaavioille ja avainarvoille. se on
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.
Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.
Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.
Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…
Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.
Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.
Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.
Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.
Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja