Служба mongodb не перезапускается после остановки

В настоящее время я не могу запустить mongodb обычной командой sudo service mongodb start. Когда я это делаю, я получаю что-то вроде:

mongodb start/running, process 23387

, однако впоследствии такой процесс не выполняется, и журнал mongodb не показывает ничего нового. Однако mongodb запускается при перезагрузке, и его можно остановить с помощью sudo service mongodb stop.

Это скорее неудобство, чем ограничитель игры, но я заинтригован - что происходит ??

2
задан 30 July 2013 в 14:34

2 ответа

Оказалось, что start-stop-daemon (используется скриптом init) знает о других экземплярах mongodb, которые я запускал из командной строки. Когда я остановил эти экземпляры, я смог нормально запустить свой основной mongodb.

Более постоянное решение - сказать start-stop-daemon создать pid-файл и проверить его при определении, запущен ли уже mongodb. С моей установкой Ubuntu по умолчанию (1: 2.0.6-1ubuntu4) скрипт init только проверяет, выполняется ли исполняемый файл mongodb (см. --exec /usr/bin/mongod в /etc/init/mongodb.conf).

Для справки, этот поток говорит об этой проблеме, а этот вопрос говорит о несколько похожей ситуации.

0
ответ дан 30 July 2013 в 14:34

Другая вероятность; Когда мы устанавливаем и проверяем monggodb с помощью sudo, каталоги mongodb могут быть созданы root'ом по ошибке.

Итак, проверьте каталоги с помощью команд ll /var/lib/mongodb и ll /var/log/mongodb.

Если владелец выглядит как root, смените владельца на mongodb, используя sudo chown mongodb:mongodb /var/lib/mongodb -R

, который я испытал!

0
ответ дан 30 July 2013 в 14:34

Другие вопросы по тегам:

Похожие вопросы: