Inštalácia InfluxDB na Ubuntu 14
Úvod InfluxDB je open source, distribuovaná databáza časových radov bez externých závislostí. Áno, čítali ste odsek bez externých závislostí
Od svojho počatia v roku 2009 je MongoDB lídrom v odvetví NoSQL. Jedným zo základných konceptov MongoDB je Replica Set, takže predtým, ako s ním začnete pracovať, najprv si prečítajte koncept.
Najjednoduchším modelom komunikácie používaným pri replikácii databáz je architektúra Master-Slave. Ako už názov napovedá, tento model má 2 úlohy, ktoré sú rozložené v jedinečnom masteri a mnohých slave, úlohou master je spracovávať operácie čítania a zápisu vykonávané klientmi a slave sú považované za repliku mastera.
Najdôležitejšou výhodou tohto modelu je, že výkon hlavného uzla nie je ohrozený operáciami zálohovania, operácie zálohovania sa vykonávajú asynchrónnym spôsobom, čo sa môže stať vážnym problémom, keď hlavný uzol zlyhá. Podriadené uzly sú len na čítanie a musia byť manuálne povýšené na hlavný uzol, takže v tomto čase existuje možnosť straty údajov.
Jednou z možností, ako vyriešiť problém s dostupnosťou, je mať v architektúre viac ako jeden hlavný server, čo však môže viesť k ďalšiemu problému v konzistencii údajov medzi týmito inštanciami a pridanej zložitosti konfigurácie.
Teraz vzhľadom na kontext môžeme predstaviť technológiu Replica Set MongoDB. Replica Set je názov architektúry Master-Slave, ktorá má automatické prepnutie pri zlyhaní, takže v momente, keď hlavný primary
uzol (ktorý je teraz pomenovaný ) nefunguje správne, election
spustí sa a zo zostávajúcich podriadených zariadení sa zvolí nový primárny uzol ( teraz označované ako secondaries
).
Primárny uzol je jediný, ktorý vykonáva operácie zápisu, operácie čítania štandardne spracováva aj primárny uzol, ale toto správanie možno neskôr zmeniť.
Operácie sa zaznamenávajú do oplog
(operačného denníka), potom sekundárne uzly aktualizujú svoj obsah asynchrónne na základe obsahuoplog
Poznámka: oplog
ide o obmedzenú kolekciu, čo znamená, že kolekcia má limit, pričom local.oplog.rs
obsah tejto kolekcie môžete skontrolovať v mongo shell v ktoromkoľvek členovi sady.
Okrem toho, že sekundárny uzol robí správnu zálohu databázy, má tieto úlohy:
Vďaka týmto vlastnostiam môžeme mať rôzne typy sekundárnych uzlov:
primary
a nemôžu spustiť voľby, napriek tomu môžu hlasovať vo voľbách, majú úplnú repliku a môžu prijímať operácie čítania. Tieto môžu byť užitočné pri nasadení viacerých dátových centier.Priority 0
členovia, ale navyše nedokážu spracovať operácie čítania. V prípade potreby môžu hlasovať. Preferovanými úlohami pre týchto členov sú zostavy a zálohy.priority 0
uzol a odporúča sa, aby bol tiež hidden
členom.Pred nasadením infraštruktúry je dôležité ju navrhnúť a pri tomto návrhu je potrebné zvážiť niekoľko bodov.
Majte na pamäti, že minimálny počet prvkov na zostavenie sady Replica je 3. Môžete kombinovať tri typy uzlov s minimálne jedným primárnym a jedným sekundárnym uzlom.
V tejto príručke nasadzujeme 3 členov, jedného primárneho a dvoch štandardných sekundárnych.
Poznámka: Odporúča sa mať maximálny počet 7 hlasujúcich členov s kombináciou rozhodcov a vedľajších členov.
Názov je len orientačný, ale používate ho v konfigurácii súpravy. Majte na pamäti, že vo svojom produkčnom prostredí môžete mať viac ako jednu sadu Replica, takže nezanedbávajte názov sady.
Tento návod nabáda používateľa, aby si vybral názov súpravy.
Tento návod navrhuje nasadenie v rovnakom dátovom centre, aby ste sa vyhli problémom s komunikáciou.
Poznámka: V prípade nasadenia v rôznych dátových centrách sa odporúča obklopiť vaše uzly sieťou VPN
Spustite 3 uzly Ubuntu 16.04 x64; v rovnakom regióne z vášho zákazníckeho portálu, ak je to možné. Nezabudnite ich pomenovať podľa typu projektu, ktorým sa zaoberáte, a uistite sa, že máte vo všetkých týchto uzloch rovnakú veľkosť servera.
Po nasadení svojich 3 uzlov si budete musieť byť istí, že každý uzol môže komunikovať so zvyškom. Potrebujete ssh do dvoch uzlov a dostať sa k ostatným pomocou ping -c 4 EXAMPLE_IP
. Zmeňte EXAMPLE_IP
na skutočné adresy IP vašich uzlov.
Tu môžete vidieť príklad úspešnej komunikácie medzi dvoma uzlami.
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
Vo všeobecnosti môžete použiť balík MongoDB Ubuntu, ale je lepšie použiť oficiálny komunitný repo, pretože je vždy aktuálny. Toto repo obsahuje tieto balíčky:
mongod
démona (primárny proces, ktorý spracováva požiadavky na údaje).mongos
démona (smerovacia služba pre zdieľané nasadenia).mongo shell
rozhranie JavaScript.Pokračujte v inštalácii balíkov.
Importujte verejný kľúč do systému správy balíkov.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Vytvorte súbor zoznamu pre 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
Aktualizujte databázu balíkov.
sudo apt-get update
Nainštalujte metabalík MongoDB.
sudo apt-get install -y mongodb-org
Spustite službu MongoDB.
sudo service mongod start
Teraz môžete otvoriť mongo shell
v akejkoľvek bash relácii. Ak to chcete urobiť, musíte použiť mongo
príkaz. Privíta vás niečo podobné ako toto.
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*
>
Nezabudnite službu vypnúť pomocou sudo service mongod stop
, pretože neskôr začneme mongod
znova s niektorými parametrami. Opakujte tento postup vo všetkých 3 uzloch sady.
Použitie súboru kľúčov si vynúti dva koncepty v správe Replica Set. Prvým je Internal Authentication
. Štandardne môžete spustiť mongo shell
reláciu bez použitia užívateľa a táto relácia bude mať úplnú kontrolu nad databázou, ale keď na autentifikáciu použijete súbor kľúčov, vaša mongo shell
relácia dosiahne stav s názvom localhost exception
. Tento stav vám umožňuje vytvoriť iba používateľa správcu a sadu Replica. Druhým pojmom je Role-Based Access Control
, alebo inými slovami autorizácia. Toto je vynútené na riadenie administratívnych úrovní sady Replica.
Kľúčový súbor je heslo, ktoré sa má použiť v množine, toto heslo musí byť rovnaké pre všetkých členov množiny. Na zvýšenie bezpečnosti je dôležité použiť náhodný kľúč s nástrojom podľa vášho výberu.
Obsah musí mať 6 až 1064 znakov. Musíte tiež nastaviť read only
povolenie pre súbor kľúčov.
chmod 400 PATH_OF_YOUR_KEYFILE
Teraz skopírujte súbor kľúčov do každého člena sady, použite konzistentný priečinok pre budúce použitie a neukladajte ho na vymeniteľné médium.
Použite tiež priečinok pre súbor, ku ktorému mongod
má prístup.
V tomto kroku musíme spustiť mongod daemon
in každý člen množiny . Existujú dva spôsoby spustenia mongod
procesu: pomocou konfiguračného súboru alebo pomocou príkazového riadku. Obidve sú celkom jednoduché metódy, ale len pre jednoduchosť tento návod používa verziu príkazového riadku.
Použite názov, ktorý ste si vybrali skôr v tomto príkaze.
mongod --keyFile PATH_OF_YOUR_KEYFILE --replSet "YOUR_SET_NAME"
By default mongod
does not run as a daemon. You will need to use the --fork
parameter or use the upstart
to fully run it as a daemon. In this tutorial we do not encourage running mongod
as a daemon so you can see the logs into your terminal directly.
Note: Carefully type the name of the Replica set because once created you cannot change it.
Note: If you run mongod
as a non-daemon process, then you will have to open another ssh connection to continue working.
You must use mongo
command to open the mongo shell
. This can be done in any member of the set.
At this moment we are in a state called localhost exception
. When a keyfile is used to setup the mongod
process, you are obligated to create a database administrator before you can apply read-write operations, but we will go into that later.
This is a delicate part, we are using the command rs.initiate()
inside the mongo shell
from Step 4. before using this command let's review it.
rs.initiate(
{
_id : <replicaSetName>,
members: [
{ _id : 0, host : "example1.net:27017" },
{ _id : 1, host : "example2.net:27017" },
{ _id : 2, host : "example3.net:27017" }
]
}
)
The first _id
field is a string and must match the --replSet
that was passed before to mongod
. Also, each value of host
must be either the ip or the domain name of each member of the Replica set. Do not forget to append the port the mongo instance is using in each member.
Now it is time to execute the command with your data on it, this will trigger an election
, then a primary will be elected automatically.
Here you should note that your shell cursor has changed to YOUR_SET_NAME:PRIMARY>
or YOUR_SET_NAME:SECONDARY
. This means that creating a set was a success.
To continue working you need to find the primary
, if your are not on it of course. Use the rs.status()
command to show the information of the Replica set and locate the primary
. You are looking for the property "stateStr" : "PRIMARY"
.
After you have located the primary
, enter the mongo shell
and run the next command using your data.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOU_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
The admin = db.getSiblingDB("admin")
part lets us write into admin
from a different database. This creates an alias called admin
, so we can execute commands using it instead.
Ak je operácia úspešná, dostanete upozornenie, že používateľ bol pridaný.
Successfully added user: {
"user" : "YOUR_USER",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
V tomto bode máme iba správcu pre všetky servery, ale sada Replica nás núti mať používateľa s clusterAdmin
rolou. Vytvoríme ďalšieho používateľa iba s touto úlohou, aby sme oddelili obavy.
Dosiahli sme limit localhost exception
, a preto musíme zmeniť autentifikáciu na používateľa vytvoreného o krok skôr.
Používateľov vo vnútri môžete zmeniť mongo shell
nasledujúcim spôsobom.
db.getSiblingDB("admin").auth("YOUR_ADMIN", "YOUR_PASSWORD" )
Ak ste sa ešte nepripojili, mongo shell
použite namiesto toho tento príkaz.
mongo -u "YOUR_ADMIN" -p "YOUR_PASSWORD" --authenticationDatabase "admin"
Budete upozornení na zmenu používateľa a môžete prejsť na ďalší krok.
clusterAdmin
Úloha dáva užívateľovi plnú kontrolu nad sady replík. Vytvorenie je rovnako jednoduché ako vytvorenie administrátora.
db.getSiblingDB("admin").createUser(
{
"user" : "YOUR_USER",
"pwd" : "YOUR_PASSWORD",
roles: [ { "role" : "clusterAdmin", "db" : "admin" } ]
}
)
Všimnite si, že tentoraz sa rola zmení naclusterAdmin
.
V tejto chvíli máme 2 správcov: jedného, ktorý má úplnú kontrolu nad serverom a druhého, ktorý má prístup k administratívnym úlohám na úrovni sady Replica. Chýba nám však používateľ, ktorý by mal prístup na „používanie“ databázy, takže tohto používateľa teraz vytvoríme.
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOUR_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "cars" } ]
}
)
Všimnite si, že tentokrát meníme db
časť, tam dávame databázu prístupnú používateľovi, v tomto prípade používame databázu s názvom cars
.
Databáza ešte nie je vytvorená. Ak to chcete urobiť, budete musieť zadať nejaké príkazy, aby ste ho implicitne vytvorili. Prepnite sa do cars
databázy.
use cars
Dostanete upozornenie: switched to db cars
.
Databáza ešte nebola vytvorená, na to je potrebné do nej niečo napísať. Používame nasledujúci príklad.
db.models.insert({ make: "Dodge", model: "Viper", year: 2010 })
Tentoraz budete upozornení pomocou WriteResult({ "nInserted" : 1 })
.
Ak chcete, môžete získať všetky objekty v databáze pomocou find()
metódy:
db.models.find()
{ "_id" : ObjectId("59acd8b55334882863541ff4"), "make" : "Dodge", "model" : "Viper", "year" : 2010 }
Všimnite si, že _id
sa to bude líšiť vo vašom výstupe, ale ostatné údaje by mali byť rovnaké. Ak bude dostatok času, tieto údaje budú replikované ostatným členom.
Vytvorenie súpravy replík môže byť zo začiatku náročné, pretože je tu veľa informácií, ktorým treba porozumieť, no akonáhle získate nápad, ktorý za tým stojí, môžete ho rýchlo nasadiť, takže sa nevzdávajte, ak ho nemôžete pochopiť na prvýkrát. Majte na pamäti, že sada Replica je dôležitá v správe MongoDB, pretože otvára možnosť pridať pokročilé funkcie, ako je vyrovnávanie záťaže.
Úvod InfluxDB je open source, distribuovaná databáza časových radov bez externých závislostí. Áno, čítali ste odsek bez externých závislostí
Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú
Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú
Používate iný systém? Úvod ArangoDB je open source databáza NoSQL s flexibilným dátovým modelom pre dokumenty, grafy a hodnoty kľúča. to je
Laravel GitScrum alebo GitScrum je nástroj na zvýšenie produktivity s otvoreným zdrojom určený na pomoc vývojovým tímom implementovať metodiku Scrum podobným spôsobom.
OrientDB je nová generácia multimodelových open source NoSQL DBMS. Vďaka podpore viacerých dátových modelov môže OrientDB poskytnúť viac funkcií a flexibility
MongoDB nie je v predvolenom nastavení zabezpečený. Ak inštalujete MongoDB a spúšťate ho bez toho, aby ste ho nakonfigurovali na autentifikáciu, budete mať zlý čas
MySQL je najpopulárnejší softvér na svete používaný pre databázy. Uistenie sa, že máte zálohy databázy, je veľmi dôležité. Táto prax umožňuje
Úvod PostgreSQL je bezplatný a otvorený systém správy databáz, ktorý možno použiť na ukladanie informácií súvisiacich s webovými stránkami. Je tiež známy a
Predpoklady Server Vultr s aktuálnou verziou Arch Linuxu (pozri tento článok.) Prístup sudo. Príkazy potrebné na spustenie ako root majú predponu # a jedna
Od svojho počatia v roku 2009 je MongoDB lídrom v odvetví NoSQL. Jedným zo základných konceptov MongoDB je Replica Set, takže pred prácou s i
MongoDB je rýchla a výkonná databáza NoSQL. Repozitáre Debianu sa však aktualizujú pomaly a často obsahujú veľmi staré verzie balíkov. Táto lekcia
Barnyard2 je spôsob, ako uložiť a spracovať binárne výstupy zo Snortu do databázy MySQL. Skôr ako začneme Upozorňujeme, že ak nemáte chrápanie
Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú
RockMongo je webový nástroj na správu MongoDB, ktorý je podobný nástroju na správu MySQL: phpMyAdmin. Tento tutoriál sa bude zaoberať procesom inštalácie
Úvod InfluxDB je databáza založená na časových sériách napísaná v Go. InfluxDB má mnoho praktických využití, jedným z nich je ukladanie monitorovacích údajov na servery. ja
MariaDB je bezplatná databáza s otvoreným zdrojovým kódom a je najpoužívanejšou náhradou za MySQL. Je vytvorený vývojármi MySQL a určený na remai
phpRedisAdmin je webová aplikácia, ktorá spravuje databázy Redis pomocou intuitívneho grafického používateľského rozhrania. Tento tutoriál vám vysvetlí, ako nainštalovať
Používate iný systém? Úvod ArangoDB je open source databáza NoSQL s flexibilným dátovým modelom pre dokumenty, grafy a hodnoty kľúča. to je
Predpoklady Docker engine 1.8+. Minimálne 4 GB miesta na disku. Minimálne 4 GB RAM. Krok 1. Inštalácia Docker Aby bolo možné nainštalovať SQL-Server, Docker musí
Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.
Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.
Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.
Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.
Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…
Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.
Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.
Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.
V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.
Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac