2015-05-04 8 views
5

Ho recentemente aggiornato la mia ubuntu dal 14.10 al 15.04. Tutte le funzionalità sembrano funzionare bene tranne MongoDB. Sto usando mongoDB con ruby ​​sull'applicazione rails usando gemoid Mongoid. MongoDB non è controllabile dal servizio come facciamo normalmente in Ubuntu.Il servizio MongoDB non funziona dopo l'aggiornamento a Ubuntu 15.04

sudo service mongodb start 

o

sudo service mongod start 

ricevo questo messaggio di errore

Impossibile riavviare mongod.service: mongod.service Unità non è riuscito a carico: No such file or directory.

ma devo avviarlo manualmente ogni volta che devo collegare il mio applicazione al server MongoDB usando

sudo mongod -f /etc/mongod.conf 

Così mongodb è collegato fintanto che il morsetto è aperto. Sto usando MongoDB nell'applicazione Ruby on Rails usando Mongoid adapater/ORM.

quando corro

sudo service mongodb status 

vengo seguente output

mongodb.service - An object/document-oriented database 
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) 
Active: failed (Result: exit-code) since بدھ 2015-05-06 14:47:53 PKT; 5s ago 
Docs: man:mongod(1) 
Process: 28602 ExecStart=/usr/bin/mongod --config /etc/mongodb.conf (code=exited, status=4) 
Main PID: 28602 (code=exited, status=4) 

مٓی 06 14:47:53 NX00443 systemd[1]: Started An object/document-oriented database. 
مٓی 06 14:47:53 NX00443 systemd[1]: Starting An object/document-oriented database... 
مٓی 06 14:47:53 NX00443 systemd[1]: mongodb.service: main process exited, code=exited, status=4/NOPERMISSION 
مٓی 06 14:47:53 NX00443 systemd[1]: Unit mongodb.service entered failed state. 
مٓی 06 14:47:53 NX00443 systemd[1]: mongodb.service failed. 

apprezzerà Qualsiasi aiuto in questo senso.

+0

Sto votando per chiudere questa domanda come off-topic perché non si riferisce alla programmazione. –

+1

È correlato al problema di installazione del server mongodb sull'ultima versione di Ubuntu. MongoDB è un server di database che può essere utilizzato dai moderni linguaggi di programmazione. Lo sto usando con ruby ​​on rails 4. La sua installazione mi aiuterà a sviluppare le applicazioni. –

+0

Come hai installato Mongoid, se tramite apt hai provato ad aggiornarlo hai provato a eseguire il debug degli script di init? – Maran

risposta

2

Nessuna delle soluzione di cui sopra ha funzionato per me. Ci sono alcune modifiche al livello del kernel in Ubuntu 15.04 e non risolveranno questo problema nella versione corrente. Speriamo che venga risolto nella prossima versione stabile di ubuntu.

7

Si scopre che Mongo>2.6.3 è un problema noto con avvio:

Supporto Systemd (non può iniziare MongoDB con gli script di init con Fedora 15 o superiore)

Come notato qui: in this link e sembra che questo forse non sarà completamente riparato per >2.6.3 fino al Ubuntu 16.04, a meno che non ci sia un forte grido.

Quindi la soluzioneè di emettere:

sudo apt-get install --reinstall mongodb 

Questo è ritornata ad mongo 2.6.3 e ora tutto funziona! Per coloro che attraversano questo ...

3

La soluzione di cui sopra funziona anche per me:

> sudo apt-get install --reinstall mongodb 

Ho provato diversi metodi che ho trovato in questo sito e altri siti, ma solo questo lavora per me! Quindi, per ora, torniamo a Mongodb 2.6.3!

Aggiornamento: problema risolto (2015/08/02 14:39): Ho appena scoperto che MongoDB 3.0.5 viene rilasciato, così ho eliminato la versione 2.6.3 e ha cercato di installare 3.0.5 sul mio Ubuntu 15.04. Ma il problema rimane! Tuttavia, dopo averlo reintallato con il pacchetto Debian wheezy, finalmente il comando sudo service mongod start funziona (non ha funzionato quando installo la versione wheezy di 3.0.4 debian). Ora il nuovo MongoDB 3.0.5 sta funzionando bene sulla mia Ubuntu 15.04!

per installare Debian versione ansimante, si rimanda alla guida ufficiale installazione su MongoDB: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/

+0

La tua soluzione ha funzionato per me in Ubuntu 15.10 con mongoDB 3.0.7 –

2

ho visto /var/log/mongodb/mongodb.log e ha bisogno di spostare lo schema di autenticazione 2.6 nello schema 3.0.5 e ho appena rimosso il journal e tutti i DB in /var/lib/mongodb/ quindi riavviare il servizio e ha funzionato di nuovo.

2016-01-17T14:43:08.529+0200 I CONTROL [initandlisten] allocator: tcmalloc 
2016-01-17T14:43:08.529+0200 I CONTROL [initandlisten] options: { command: [ "run" ], config: "/etc/mongodb.conf", net: { bindIp: "127.0.0.1,10.0.0.170", http: { enabled: false }, port: 27017 }, processManagement: { fork: true, pidFilePath: "/var/run/mongodb/mongodb.pid" }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", path: "/var/log/mongodb/mongodb.log", quiet: true } } 
2016-01-17T14:43:08.834+0200 I STORAGE [initandlisten] Old 2.4 style user index identified. The authentication schema needs to be updated by running authSchemaUpgrade on a 2.6 server. 
+0

fammi provare questo –

3

è necessario modificare la configurazione del percorso del db:

ad esempio nel file "/etc/mongod.conf" set "dbPath:/data/db"

È necessario per dare il diritto all'utente di mongodb di accedere a questo percorso:

sudo chown -R mongodb /data/db