web-dev-qa-db-fra.com

Comment résoudre l'erreur: dbpath (/ data / db /) n'existe pas de façon permanente dans MongoDB

J'ai installé mongodb dans mon Ubuntu 10.04.

Je sais que lorsqu'il s'agit de démarrer le serveur mongodb avec la commande " mongod ", alors il attend le dossier/data/db et il peut être facilement résolu en créant "/ data/db /". Une autre façon consiste à fournir votre propre chemin en utilisant mongod --dbpath "path", lorsque nous avons l'intention de donner notre propre chemin personnalisé pour db.

Mais en passant par http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ lien j'ai trouvé qu'il y avait un fichier de configuration.

J'y ai apporté les modifications suivantes.

# mongodb.conf

dbpath=/EBS/Work/mongodb/data/db/


logpath=/EBS/Work/mongodb/mongodb.log

logappend=true

Mais quand j'essaye de démarrer le serveur avec "mongod" , il renvoie la même erreur, c'est-à-dire erreur: dbpath (/data/db /) n'existe pas . Je voulais savoir que comment puis-je rediriger définitivement mon dbpath vers mon propre dossier personnalisé à chaque fois que vous ne voulez pas taper le chemin en utilisant "mongod --dbpath path". Nous cherchons plutôt à faire quelques changements dans le fichier de configuration.

42
Abhinav

En supposant que vous avez suivi les instructions pour installer un version packagée de MongoDB , vous devez démarrer et arrêter mongod en utilisant service.

Pour démarrer mongod:

 Sudo service mongodb start

Pour arrêter mongod:

 Sudo service mongodb stop

Si vous utilisez la commande de service pour démarrer et arrêter, elle doit utiliser le fichier de configuration: /etc/mongodb.conf.

Démarrage de mongod à partir de la ligne de commande

Si vous exécutez mongod directement au lieu d'utiliser la définition de service, vous devrez également spécifier un fichier de configuration en tant que paramètre de ligne de commande si vous souhaitez en utiliser un:

mongod --config /etc/mongodb.conf
56
Stennie

Voici comment j'ai résolu ce problème, simplement en suivant leur Doc officiel. ICI .

Étape par étape depuis teminal (exécutant ubuntu):

  1. cd dans le dossier/srv = >> cd /srv/
  2. make directory = >> mkdir -p mongodb
  3. Dans/srv /, donnez au dossier mongodb nouvellement créé les autorisations et le groupe appropriés ......
  4. Enfin, exécutez ceci => mongod --dbpath /srv/mongodb/

"étape par étape" Copie du terminal ...... :)

 ~$ mongod 
    Tue Jun  3 20:27:39.564 [initandlisten] MongoDB starting : pid=5380 port=27017 dbpath=/srv/mongodb/ 64-bit Host= -SVE1411EGXB
    Tue Jun  3 20:27:39.564 [initandlisten] db version v2.4.10
    Tue Jun  3 20:27:39.564 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
    Tue Jun  3 20:27:39.564 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
    Tue Jun  3 20:27:39.564 [initandlisten] allocator: tcmalloc
    Tue Jun  3 20:27:39.564 [initandlisten] options: { dbpath: "/srv/mongodb/" }
    Tue Jun  3 20:27:39.565 [initandlisten] exception in initAndListen: 10296 
    *********************************************************************
     ERROR: dbpath (/srv/mongodb/) does not exist.
     Create this directory or give existing directory in --dbpath.
     See http://dochub.mongodb.org/core/startingandstoppingmongo
    *********************************************************************
    , terminating
    Tue Jun  3 20:27:39.565 dbexit: 
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to close listening sockets...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to flush diaglog...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to close sockets...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: waiting for fs preallocator...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: lock for final commit...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: final commit...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: closing all files...
    Tue Jun  3 20:27:39.565 [initandlisten] closeAllFiles() finished
    Tue Jun  3 20:27:39.565 dbexit: really exiting now
         ~$ mongod --dbpath /srv/mongodb/
    Tue Jun  3 20:27:55.616 [initandlisten] MongoDB starting : pid=5445 port=27017 dbpath=/srv/mongodb/ 64-bit Host= -SVE1411EGXB
    Tue Jun  3 20:27:55.616 [initandlisten] db version v2.4.10
    Tue Jun  3 20:27:55.616 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
    Tue Jun  3 20:27:55.616 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
    Tue Jun  3 20:27:55.616 [initandlisten] allocator: tcmalloc
    Tue Jun  3 20:27:55.616 [initandlisten] options: { dbpath: "/srv/mongodb/" }
    Tue Jun  3 20:27:55.617 [initandlisten] exception in initAndListen: 10296 

     ~$ Sudo service mongodb start
start: Job is already running: mongodb
     ~$ Sudo service mongodb stop
mongodb stop/waiting
     ~$ cd /srv/
     ~$~$/srv$ ls
     ~$ /srv$ mkdir mongodb
     ~$ Sudo chgrp   /srv
     ~$ Sudo chmod 775 /srv
     ~$ cd /srv/
     /srv$ ls
     /srv$ mkdir mongodb
     /srv$ ls mongodb
     /srv$ cd
     ~$ mongod --dbpath /srv/mongodb/
Tue Jun  3 20:40:57.457 [initandlisten] MongoDB starting : pid=6018 port=27017 dbpath=/srv/mongodb/ 64-bit Host= -SVE1411EGXB
Tue Jun  3 20:40:57.457 [initandlisten] db version v2.4.10
Tue Jun  3 20:40:57.457 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
Tue Jun  3 20:40:57.457 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Tue Jun  3 20:40:57.457 [initandlisten] allocator: tcmalloc
Tue Jun  3 20:40:57.457 [initandlisten] options: { dbpath: "/srv/mongodb/" }
Tue Jun  3 20:40:57.520 [initandlisten] journal dir=/srv/mongodb/journal
Tue Jun  3 20:40:57.521 [initandlisten] recover : no journal files present, no recovery needed
Tue Jun  3 20:41:00.545 [initandlisten] preallocateIsFaster=true 36.86
Tue Jun  3 20:41:03.489 [initandlisten] preallocateIsFaster=true 35.06
Tue Jun  3 20:41:07.456 [initandlisten] preallocateIsFaster=true 34.44
Tue Jun  3 20:41:07.456 [initandlisten] preallocateIsFaster check took 9.935 secs
Tue Jun  3 20:41:07.456 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.0
Tue Jun  3 20:41:10.009 [initandlisten]         File Preallocator Progress: 985661440/1073741824    91%
Tue Jun  3 20:41:22.273 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.1
Tue Jun  3 20:41:25.009 [initandlisten]         File Preallocator Progress: 933232640/1073741824    86%
Tue Jun  3 20:41:37.119 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.2
Tue Jun  3 20:41:40.093 [initandlisten]         File Preallocator Progress: 1006632960/1073741824   93%
Tue Jun  3 20:41:52.450 [FileAllocator] allocating new datafile /srv/mongodb/local.ns, filling with zeroes...
Tue Jun  3 20:41:52.450 [FileAllocator] creating directory /srv/mongodb/_tmp
Tue Jun  3 20:41:52.503 [FileAllocator] done allocating datafile /srv/mongodb/local.ns, size: 16MB,  took 0.022 secs
Tue Jun  3 20:41:52.517 [FileAllocator] allocating new datafile /srv/mongodb/local.0, filling with zeroes...
Tue Jun  3 20:41:52.537 [FileAllocator] done allocating datafile /srv/mongodb/local.0, size: 64MB,  took 0.02 secs
Tue Jun  3 20:41:52.538 [websvr] admin web console waiting for connections on port 28017
Tue Jun  3 20:41:52.538 [initandlisten] waiting for connections on port 27017
7
zee

Modifiez l'utilisateur du nouveau répertoire de données:

chown mongodb [répertoire_rute]

Et essayez une autre fois pour démarrer le service mongo

service mongodb start

Je résous le même problème avec cela.

1
Raugaral
  1. Rechercher le fichier journal mongo dans le dossier du système racine

Sudo find/-name "mongodb.log" -type f

résultat: /var/log/mongodb/mongodb.log

  1. ouvrez /var/log/mongodb/mongodb.log

  2. rechercher le dernier mot "d'exception"

  3. essayez de corriger l'exception

Dans mon cas, l'exception était la suivante: 2015-07-30T15: 09: 15.806 + 0300 [initandlisten] exception dans initAndListen: 13597 ne peut pas démarrer sans --journal activé lorsque le journal/les fichiers sont présents, se terminant

J'ai fait le suivant:

  1. cd/var/lib/mongodb
  2. rm -r journal /
0
1nstinct