Am încercat să instalez MongoDB 5.0 Community edition pe Ubuntu 18.04 din documentul oficial: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
Totul a mers bine până când am încercat să rulez serviciul mongod:
$ systemctl start mongod
Nu s-a pornit mongod.service: Unitatea mongod.service nu este încărcată corect: Argument nevalid.
Consultați jurnalele de sistem și „starea systemctl mongod.service” pentru detalii.
Am incercat sa adun informatii:
$ systemctl status mongod.service
â mongod.service
Încărcat: eroare (Motiv: argument nevalid)
Activ: inactiv (mort)
$ sudo systemd-analyze verifica mongod.service
mongod.service: Serviciul nu are atât setarea ExecStart= cât și ExecStop=. Refuz.
mongod.service: Nu s-a putut crea mongod.service/start: Unitatea mongod.service nu este încărcată corect: Argument invalid.
Am încercat să eliminăm sistemul de fișiere pe disc și nu putem permite asta.
Dacă încerc să activez serviciul, am următorul mesaj:
$ systemctl enable mongod.service
Fișierele unității nu au configurație de instalare (WantedBy, RequiredBy, Also, Alias
setările din secțiunea [Instalare] și DefaultInstance pentru unitățile șablon).
Aceasta înseamnă că nu sunt menite să fie activate folosind systemctl.
Motivele posibile pentru a avea acest tip de unități sunt:
1) O unitate poate fi activată static, fiind legată de o altă unitate
.dorește/ sau .necesită/ directorul.
2) Scopul unei unități poate fi să acționeze ca un ajutor pentru o altă unitate care are
o dependență de cerință de el.
3) O unitate poate fi pornită atunci când este necesar prin activare (priză, cale, temporizator,
D-Bus, udev, apel systemctl scriptat, ...).
4) În cazul unităților șablon, unitatea este menită să fie activată cu unele
numele instanței specificat.
Într-adevăr, dacă citesc rezultatul de la systemctl list-unit-files
, serviciul mongod este marcat ca static
.
Aici e al meu /lib/systemd/system/mongod.service
conținut (scris automat prin instalarea mongodb):
GNU nano 2.9.3 /lib/systemd/system/mongod.service
[Unitate]
Descriere=MongoDB Database Server
Documentație=https://docs.mongodb.org/manual
După=rețea.țintă
[Serviciu]
Utilizator=mongodb
Grup=mongodb
EnvironmentFile=-/etc/default/mongod
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
PIDFile=/var/run/mongodb/mongod.pid
# mărime fișier
LimitFSIZE=infinit
# timp CPU
LimitCPU=infinit
# dimensiunea memoriei virtuale
LimitAS=infinit
# fișiere deschise
LimitNOFILE=64000
# procese/file
LimitNPROC=64000
# memorie blocată
LimitMEMLOCK=infinit
# fire totale (utilizator+kernel)
TasksMax=infinit
TasksAccounting=fals
# Limitele recomandate pentru mongod, așa cum este specificat în
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
[Instalare]
WantedBy=multi-user.target
The /var/log/mongodb/
folderul este gol totuși.
Rețineți că aveam o versiune anterioară de MongoDB instalată, așa că am parcurs pașii din această postare:Apt-get eșuează în 16.04 sau 18.04 instalând mongodb
Și am încercat să instalez MongoDB 4.2 după aceea. Și problema persistă.
Este într-adevăr instalat, totuși, după cum pot vedea versiunea sa:
db versiunea v4.2.18
Versiunea git: f65ce5e25c0b26a00d091a4d24eec1a8b3a4c016
Versiunea OpenSSL: OpenSSL 1.1.1 11 septembrie 2018
alocator: tcmalloc
module: niciunul
mediu de construcție:
distmod: ubuntu1804
amidon: x86_64
target_arch: x86_64
Ce înseamnă aceste erori systemctl? Ce ar trebui să încerc să fac?
Vă mulțumesc că ați citit.
EDIT: Rețineți că trebuie să rulez mongod
comanda prin sudo
ca să funcționeze de la terminal.
Așa că am testat să modific mongod.serviciu
fișier în două moduri:
- Mai întâi cu
Utilizator=rădăcină
, Grup=rădăcină
- Apoi prin adăugare
mongodb
la grupul meu sudo și folosind:
Utilizator=mongodb
Grup=mongodb
EnvironmentFile=-/etc/default/mongod
ExecStart=sudo /usr/bin/mongod --config /etc/mongod.conf
Ambele au dus la aceeași eroare: Argument invalid