Не удается перезапустить mongodb на Ubuntu 11.04
Я установил mongodb, и когда я печатаю следующую команду, я получаю эти сообщения
[email protected]:~# service mongodb status
mongodb stop/waiting
[email protected]:~# service mongodb restart
restart: Unknown instance:
[email protected]:~# service mongodb stop
stop: Unknown instance:
Я хочу перезапустить mongodb.but не удалось перезагрузить.
EDIT:
здесь /etc/mongodb.conf
DBPATH =/вар/Library/MongoDB
LogPath =/вар/Журнал/MongoDB/mongodb.log
logappend = истина
bind_ip = 127.0.0.1
auth = true
Ответы
Ответ 1
Учитывая выход команды запуска, это начинается правильно. Когда вы запускаете статус, он, кажется, был остановлен. Вам нужно заглянуть в файл журнала:
/var/log/mongodb/mongodb.log
Это скажет вам, почему мангон останавливается. Есть пара вероятных причин, но, не видя этого вывода, будет трудно ответить окончательно. Мои общие рекомендации:
-
Не используйте bind_ip - это плохая идея вообще Update (2016): Удаление этого, потому что проблемы с bind_ip, которые заставили меня написать это в 2012 году, были исправлены, и это даже по умолчанию в официальных пакетах. Стоит попробовать без установки в качестве этапа устранения неполадок, но не плохая идея использовать его в целом.
- Проверьте, что что-то еще работает на порту 27017
- Укажите порт явно в файле mongodb.conf, даже если вы хотите использовать стандартный
Наконец, взгляните на этот ответ, чтобы узнать, как исправить права доступа к файлам, на случай, если это проблема (обычно это вызвано запуском с правами root в какой-то момент):
Аварии mongodb после неожиданного завершения работы
Ответ 2
Извините, если вы считаете эту "SO археологию".
Я не знаю, является ли это той же проблемой, но сейчас я сталкиваюсь с чем-то похожим.
Конец моего журнала:
Mon Nov 19 10:25:37 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Mon Nov 19 10:25:37 dbexit:
Mon Nov 19 10:25:37 [initandlisten] shutdown: going to close listening sockets...
Mon Nov 19 10:25:37 [initandlisten] shutdown: going to flush diaglog...
Mon Nov 19 10:25:37 [initandlisten] shutdown: going to close sockets...
Mon Nov 19 10:25:37 [initandlisten] shutdown: waiting for fs preallocator...
Mon Nov 19 10:25:37 [initandlisten] shutdown: lock for final commit...
Mon Nov 19 10:25:37 [initandlisten] shutdown: final commit...
Mon Nov 19 10:25:37 [initandlisten] shutdown: closing all files...
Mon Nov 19 10:25:37 [initandlisten] closeAllFiles() finished
Mon Nov 19 10:25:37 dbexit: really exiting now
Итак, я думаю, что файл блокировки не закрыт должным образом (например, при выключении). Вы должны использовать
mongod --repair
Но это не сработало для меня, поэтому я просто удалил /var/lib/mongodb/mongod.lock
, а затем запустил сервер. Это не безопасный способ, и есть вероятность, что данные в вашей базе данных будут повреждены, если вы это сделаете.
Ответ 3
Извините, что перефразировал этот поток, но я помещаю это здесь, потому что столкнулся с одной и той же проблемой, и это сработало.
взято здесь:
http://pastebin.com/6hP42r69
sudo -u mongodb mongod --repair -dbpath /var/lib/mongodb
Я запускаю linux mint 15 и текущую сборку mongodb.
Ответ 4
У меня была та же проблема, и я решил запустить только:
$ service mongod restart
Ответ 5
Я решил это вручную удалить файл .lock, подобный этому
sudo rm -i/var/lib/mongodb/mongod.lock
затем перезапустите
Ответ 6
Похоже, что Mongo не может начать по какой-то причине. Помимо предложений, уже предоставленных Адамом.
- Проверьте, есть ли у вас права на запись в каталог данных.
- Проверьте, есть ли у вас права на запись в каталог /var/log.
- Работает ли mongod как root или как другой пользователь? Проверьте инициализацию script для mongodb
чтобы узнать, какой пользователь работает в mongod как.
Ответ 7
Одним из возможных случаев может быть mongod.lock(что вызывало мою проблему).
Откройте файл журнала в
/var/log/mongodb/mongod.log
Посмотрите, есть ли у вас какие-либо исключения из-за файла mongod.lock. Скопируйте его и удалите его
sudo rm/var/lib/mongodb/mongod.lock
Затем запустите
sudo service mongod restart
Чтобы проверить, все ли в порядке.
статус sudo service mongod
Ожидаемый результат будет mongod start/running
Ответ 8
Иногда проблемы могут быть вызваны недостаточным свободным хранилищем для journaling
для бесперебойной работы.
Сделал a tail -100 /var/log/mongodb/mongod.log
и нашел эту ошибку:
exception in initAndListen: 15926 Insufficient free space for journals, terminating
Пожалуйста, сделайте не менее 3379MB доступным в /var/lib/mongodb/journal или используйте --smallfiles`
Разрешил его, поместив smallfiles=true
в мой конфигурационный файл MongoDB /etc/mongod.conf
.
Тогда sudo rm /var/lib/mongodb/mongod.lock
Затем перезагрузите экземпляр MongoDB, используя service mongod start
Надеюсь на эту помощь.