Si të instaloni MongoDB në CentOS 7
Prezantimi
MongoDB është një bazë të dhënash e orientuar drejt dokumenteve që është falas dhe me burim të hapur. Ajo klasifikohet si një bazë të dhënash NoSQL sepse nuk mbështetet në një strukturë tradicionale të bazës së të dhënave relacionale të bazuar në tabelë. Në vend të kësaj, ai përdor dokumente të ngjashme me JSON me skema dinamike. Ndryshe nga bazat e të dhënave relacionale, MongoDB nuk kërkon një skemë të paracaktuar përpara se të shtoni të dhëna në një bazë të dhënash. Ju mund ta ndryshoni skemën në çdo kohë dhe aq shpesh sa është e nevojshme pa pasur nevojë të konfiguroni një bazë të dhënash të re me një skemë të përditësuar.
Në këtë tutorial, ju do të instaloni MongoDB Community Edition në një server CentOS 7.
Parakushtet
Përpara se të ndiqni këtë tutorial, sigurohuni që ta keni
- Një server CentOS 7 me një përdorues paroot
sudo
. Për udhëzime, ju lutemi shikoni tutorialin tonë, Initial Server Setup with CentOS 7.
Hapi 1 – Shtimi i depove MongoDB
Paketa mongodb-org
nuk ekziston brenda depove të paracaktuara për CentOS. Sidoqoftë, MongoDB mban një depo të dedikuar. Le ta shtojmë atë në serverin tonë.
Me redaktorin vi
, krijoni një skedar .repo
për yum
, mjeti i menaxhimit të paketave për CentOS:
- sudo vi /etc/yum.repos.d/mongodb-org.repo
Më pas, vizitoni seksionin Install on Red Hat të dokumentacionit të MongoDB dhe shtoni informacionin e depove për lëshimin më të fundit të qëndrueshëm në skedar:
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
Ruani ndryshimet në skedar duke shtypur tastin ESC
, më pas shkruani :wq
dhe shtypni ENTER
.
Përpara se të vazhdoni, duhet të verifikoni që depoja e MongoDB ekziston brenda programit yum
. Komanda repolist
shfaq një listë të depove të aktivizuara:
- yum repolist
Output. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-6.0/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
Me Depoja e MongoDB
në vend, mund të vazhdoni me instalimin.
Hapi 2 – Instalimi i MongoDB
Ju mund të instaloni paketën mongodb-org
nga depoja e palëve të treta duke përdorur mjetin yum
.
- sudo yum install mongodb-org
Ka dy kërkesa A është në rregull [y/N]:
. E para lejon instalimin e paketave MongoDB dhe e dyta importon një çelës GPG. Botuesi i MongoDB nënshkruan softuerin e tij dhe yum
përdor një çelës për të konfirmuar integritetin e paketave të shkarkuara. Në çdo kërkesë, shkruani Y
dhe më pas shtypni tastin ENTER
.
Më pas, filloni shërbimin MongoDB me mjetin systemctl
:
- sudo systemctl start mongod
Edhe pse ne nuk do t'i përdorim ato në këtë tutorial, ju gjithashtu mund të ndryshoni gjendjen e shërbimit MongoDB me komandat reload
dhe stop
.
Komanda reload
kërkon që procesi mongod
të lexojë skedarin e konfigurimit, /etc/mongod.conf
dhe të zbatojë çdo ndryshim pa kërkuar rinisje.
- sudo systemctl reload mongod
Komanda stop
ndalon të gjitha proceset e ekzekutuara mongod
.
- sudo systemctl stop mongod
Shërbimi systemctl
nuk dha një rezultat pas ekzekutimit të komandës start
, por mund të kontrolloni nëse shërbimi filloi duke parë fundin e mongod.log skedari me komandën tail
:
- sudo tail /var/log/mongodb/mongod.log
Output. . .
[initandlisten] waiting for connections on port 27017
Një rezultat i pritjes për një lidhje konfirmon që MongoDB ka filluar me sukses dhe mund të hyni në serverin e bazës së të dhënave me MongoDB Shell:
- mongo
Shënim: Kur keni nisur MongoDB Shell, mund të keni parë një paralajmërim si ky:
** PARALAJMËRIM:** kufijtë e butë janë shumë të ulët. kufijtë e vendosur në 4096 procese, 64000 skedarë. Numri i proceseve duhet të jetë së paku 32000 : 0,5 herë numri i skedarëve.
MongoDB është një aplikacion i filetuar. Ai mund të nisë procese shtesë për të përballuar ngarkesën e tij të punës. Paralajmërimi thotë se që MongoDB të jetë më efektiv, numri i proceseve që është i autorizuar të rrotullohet duhet të jetë sa gjysma e numrit të skedarëve që mund të ketë të hapur në çdo kohë. Për të zgjidhur paralajmërimin, ndryshoni vlerën kufizuese të butë të proceseve
për mongod
duke redaktuar skedarin 20-nproc.conf
:
- sudo vi /etc/security/limits.d/20-nproc.conf
Shtoni rreshtin e mëposhtëm në fund të skedarit:
. . .
mongod soft nproc 32000
Sigurohuni që t'i ruani ndryshimet duke shtypur tastin ESC
, më pas shkruani :wq
dhe shtypni ENTER
.
Që kufiri i ri të jetë i disponueshëm për MongoDB, rinisni atë duke përdorur mjetin systemctl
:
- sudo systemctl restart mongod
Më pas, kur lidheni me MongoDB Shell, paralajmërimi duhet të pushojë së ekzistuari.
Për të mësuar se si të ndërveproni me MongoDB nga guaska, mund të rishikoni daljen e metodës db.help()
e cila ofron një listë metodash për objektin db
.
- db.help()
OutputDB methods:
db.adminCommand(nameOrDocument) - switches to 'admin' db, and runs command [ just calls db.runCommand(...) ]
db.auth(username, password)
db.cloneDatabase(fromhost)
db.commandHelp(name) returns the help for the command
db.copyDatabase(fromdb, todb, fromhost)
db.createCollection(name, { size : ..., capped : ..., max : ... } )
db.createUser(userDocument)
db.currentOp() displays currently executing operations in the db
db.dropDatabase()
. . .
Lëreni procesin mongod
të funksionojë në sfond, por dilni nga shell me komandën exit
:
- exit
OutputBye
Hapi 3 - Verifikimi i fillimit
Për shkak se një aplikacion i drejtuar nga baza e të dhënave nuk mund të funksionojë pa një bazë të dhënash, ne do të sigurohemi që demon MongoDB, mongod
, do të fillojë me sistemin.
Përdorni mjetin systemctl
për të kontrolluar statusin e tij të nisjes:
- systemctl is-enabled mongod; echo $?
Një dalje zero konfirmon një demon të aktivizuar, të cilin ne duam. Një, megjithatë, konfirmon një demon me aftësi të kufizuara që nuk do të fillojë.
Output. . .
enabled
0
Në rast të një demon të çaktivizuar, përdorni mjetin systemctl
për ta aktivizuar atë:
- sudo systemctl enable mongod
Tani keni një shembull ekzekutiv të MongoDB që do të fillojë automatikisht pas një rindezjeje të sistemit.
Hapi 4 – Importimi i një grupi të dhënash shembull (opsionale)
Ndryshe nga serverët e tjerë të bazës së të dhënave, MongoDB nuk vjen me të dhëna në bazën e të dhënave të tij test
. Meqenëse nuk duam të eksperimentojmë me softuer të ri duke përdorur të dhënat e prodhimit, ne do të shkarkojmë një grup të dhënash mostër nga një shembull MongoDB. Ky dokument JSON përmban një koleksion restorantesh, të cilat ne do t'i përdorim për të praktikuar ndërveprimin me MongoDB dhe për të shmangur dëmtimin e të dhënave të ndjeshme.
Filloni duke lëvizur në një direktori të shkrueshme:
- cd /tmp
Përdorni komandën curl
dhe lidhjen nga MongoDB për të shkarkuar skedarin JSON:
- curl -LO https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/primer-dataset.json
Komanda mongoimport
do të futë të dhënat në bazën e të dhënave test. Flamuri --db
përcakton se cilën bazë të dhënash të përdoret ndërsa flamuri --collection
specifikon se ku do të ruhet informacioni në bazën e të dhënave dhe skedari --
Flamuri i tregon komandës se në cilin skedar duhet të kryejë veprimin e importit:
- mongoimport --db test --collection restaurants --file /tmp/primer-dataset.json
Dalja konfirmon importimin e të dhënave nga skedari primer-dataset.json
:
Outputconnected to: localhost
imported 25359 documents
Me të dhënat e mostrës në vend, mund të kryeni një pyetje kundër tij.
Rinisni MongoDB Shell:
- mongo
Predha zgjedh bazën e të dhënave test
si parazgjedhje, e cila është vendi ku keni importuar të dhënat.
Kërkoni koleksionin restorante me metodën find()
për të shfaqur një listë të të gjitha restoranteve në grupin e të dhënave. Meqenëse koleksioni përmban mbi 25,000 hyrje, përdorni metodën opsionale limit()
për të reduktuar daljen e pyetjes në një numër të caktuar. Për më tepër, metoda pretty()
e bën informacionin më të lexueshëm nga njeriu me rreshta të rinj dhe dhëmbëzime.
- db.restaurants.find().limit(1).pretty()
Output{
"_id" : ObjectId("57e0443b46af7966d1c8fa68"),
"address" : {
"building" : "1007",
"coord" : [
-73.856077,
40.848447
],
"street" : "Morris Park Ave",
"zipcode" : "10462"
},
"borough" : "Bronx",
"cuisine" : "Bakery",
"grades" : [
{
"date" : ISODate("2014-03-03T00:00:00Z"),
"grade" : "A",
"score" : 2
},
{
"date" : ISODate("2013-09-11T00:00:00Z"),
"grade" : "A",
"score" : 6
},
{
"date" : ISODate("2013-01-24T00:00:00Z"),
"grade" : "A",
"score" : 10
},
{
"date" : ISODate("2011-11-23T00:00:00Z"),
"grade" : "A",
"score" : 9
},
{
"date" : ISODate("2011-03-10T00:00:00Z"),
"grade" : "B",
"score" : 14
}
],
"name" : "Morris Park Bake Shop",
"restaurant_id" : "30075445"
}
Mund të vazhdoni të përdorni grupin e të dhënave të mostrës për t'u njohur me MongoDB ose ta fshini atë me metodën db.restaurants.drop()
:
- db.restaurants.drop()
Së fundi, dilni nga guaska me komandën dalje
:
- exit
OutputBye
konkluzioni
Në këtë tutorial, ju keni shtuar një depo të palëve të treta në yum
, keni instaluar serverin e bazës së të dhënave MongoDB, keni importuar një grup të dhënash mostër dhe keni kryer një pyetje të thjeshtë. Ka ende shumë më tepër që mund të bëni me MongoDB, si krijimi i bazave të të dhënave me koleksione
, mbushja e bazave të të dhënave me shumë dokumente
dhe ndërtimi i aplikacioneve të fuqishme. Për të mësuar më shumë rreth MongoDB, kontrolloni mësimet tona të serive në MongoDB.