Puncte:0

Nu se poate porni mongod de la systemctl

drapel za

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

Terrance avatar
drapel id
Urmați pașii de instalare pentru Ubuntu 20.04 și MongoDB 5.0 pentru instalarea dvs. 18.04 LTS: https://askubuntu.com/a/842599/231142 Tocmai am făcut-o și a funcționat foarte bine pentru instalarea mea 18.04 LTS VM pe care o am.
Terrance avatar
drapel id
Răspunde asta la întrebarea ta? [Apt-get nu reușește instalarea mongodb pe 16.04 sau 18.04](https://askubuntu.com/questions/842592/apt-get-fails-on-16-04-or-18-04-installing-mongodb) Adăugând aceasta aici pentru că răspunsul (răspunsurile) ar trebui să te ajute.
raaaahman avatar
drapel za
Ne pare rău @Terrance, aceștia sunt pașii pe care i-am urmat, dar tocmai am lipit linkul greșit în postarea mea (editată acum). Deci nu, asta nu a ajutat. Dar vă mulțumesc pentru răspunsul rapid.
Terrance avatar
drapel id
Poate doriți să vedeți: https://serverfault.com/questions/986416/systemctl-complains-about-no-installation-config-but-it-exists Deoarece fișierul dvs. de serviciu poate să nu fie corect. Eroarea inițială afirmă „Serviciul lipsește atât setarea ExecStart=, cât și ExecStop=”. și totul din el este, de asemenea, sensibil la majuscule și minuscule.
Terrance avatar
drapel id
Fișierul dvs. `.service` este diferit de al meu. Poate o faceți înapoi în altă locație și înlocuiți-o cu cea pe care o am mai jos. Câteva dintre rândurile sunt diferite pe care le văd între ale tale și ale mele.
raaaahman avatar
drapel za
Tocmai am încercat asta. În continuare aceeași problemă. Îți mulțumesc totuși că ți-ai făcut timp să mă ajuți.
Terrance avatar
drapel id
Totul pare corect atunci. Trebuie să fie altceva în neregulă, cum ar fi systemd ar putea fi încurcat. Mă îndoiesc foarte mult că este MongoDB. Tot ceea ce este necesar este în fișier și totuși systemd nu îl poate încărca. Încercați să reinstalați systemd `sudo apt install --reinstall systemd`. În caz contrar, cred că s-ar putea să vă uitați la o instalare 18.04 dezordonată și ar putea fi necesar să reinstalați sistemul de operare în sine.
raaaahman avatar
drapel za
Multumesc pentru sfat. Totuși, îl pot rula din CLI și chiar am trecut la un container docker pentru a nu-mi mai deranja sistemul de operare. Totusi sunt interesat sa aflu ce este in neregula...

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.