Как разрешить ошибку: dbpath (/data/db/) не существует постоянно в MongoDB
Я установил mongodb в своем Ubuntu 10.04.
Я знаю, что, когда дело доходит до запуска сервера mongodb с командой " mongod", тогда он ожидает папку /data/db, и ее можно легко решить, создав "/data/db/". Еще один способ - предоставить свой собственный путь, используя mongod -dbpath "путь", когда мы намереваемся предоставить собственный собственный путь для db.
Однако, проходя через http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/, я обнаружил, что есть файл конфигурации.
Я внесла в него следующие изменения.
# mongodb.conf
dbpath=/EBS/Work/mongodb/data/db/
logpath=/EBS/Work/mongodb/mongodb.log
logappend=true
Но все же, когда я пытаюсь запустить сервер с "mongod" , он выдает ту же ошибку
i.e ошибка: dbpath (/data/db/) не существует.
Я хотел бы знать, как я могу навсегда перенаправить свой dbpath на свою собственную папку, потому что каждый раз, когда вы не хотите вводить путь с помощью "mongod -dbpath path", мы пытаемся внести некоторые изменения в файл конфигурации.
Ответы
Ответ 1
Предполагая, что вы выполнили инструкции по установке упакованной версии MongoDB, вы должны запускать и останавливать mongod
с помощью service
.
Чтобы запустить mongod
:
sudo service mongodb start
Чтобы остановить mongod
:
sudo service mongodb stop
Если вы используете служебную команду для запуска и остановки, она должна использовать файл конфигурации: /etc/mongodb.conf
.
Запуск mongod
из командной строки
Если вы запустите mongod
напрямую, а не используете определение службы, вам также нужно будет указать файл конфигурации в качестве параметра командной строки если вы хотите, чтобы он использовался:
mongod --config /etc/mongodb.conf
Ответ 2
Вот как я понял это, просто следуя их официальному Доку. ЗДЕСЬ.
Шаг за шагом от teminal (работает ubuntu):
- cd в папку /srv = →
cd /srv/
- make directory = →
mkdir -p mongodb
- Изнутри/srv/дайте вновь созданной папке mongodb права и группу......
- Наконец, запустите this = >
mongod --dbpath /srv/mongodb/
"шаг за шагом" Копия терминала...... :)
~$ 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
Ответ 3
Измените пользователя нового каталога данных:
chown mongodb [rute_directory]
И попробуйте еще раз, чтобы начать службу mongo
сервис mongodb start
Я решаю ту же проблему с этим.
Ответ 4
- Найти файл журнала mongo из корневой системной папки
sudo find/-name "mongodb.log" -type f
Результат:
/var/log/mongodb/mongodb.log
-
открыть/var/log/mongodb/mongodb.log
-
поиск последнего слова "исключение"
-
попытайтесь исправить исключение
В моем случае исключением было следующее:
2015-07-30T15: 09: 15.806 + 0300 Исключение инициализации в initAndListen: 13597 не может запускаться без --journal включен, когда журнал/файлы присутствуют, завершение
Я сделал следующее:
- cd/var/lib/mongodb
- rm -r journal/