Я всегда тестировал репликаты, запуская несколько процессов mongod
на том же сервере (потому что использование нескольких сервисов дороже, и я просто тестирую на этом этапе).Не удается запустить mongodb несколько раз при использовании start-stop-daemon?
Однако, так как я обновил Монго до версии v2.0.5 я получаю следующее, когда я пытаюсь запустить mongod снова (на другой порт, с другой папке базы данных и т.д.):
mongod already running
Почему это так? Есть ли флаг, чтобы пропустить эту проверку?
Update: по какой-то причине это происходит только тогда, когда я бегу mongod
так:
sudo start-stop-daemon --start -c mainuser --exec /usr/local/bin/mongod -- --journal --nohttpinterface --dbpath /home/mainuser/data/db-secondary --logpath /home/mainuser/data/logs/mongodb-secondary.log --logappend --replSet appname --port 30001
Это не происходит, когда я запускаю его так:
sudo /usr/local/bin/mongod --journal --nohttpinterface --dbpath /home/mainuser/data/db-secondary --logpath /home/mainuser/data/logs/mongodb-secondary.log --logappend --replSet appname --port 30001
К сожалению я должны использовать start-stop-daemon
для использования в моем сценарии upstart на Ubuntu 10.04 LTS. Почему это может вызвать эту проблему?
После прочтения manpage для start-stop-daemon
становится ясно, что он намеренно не пытается запустить процесс еще раз, потому что он признает его как ту же «услугу». Тем не менее, я использую только start-stop-daemon
, чтобы я мог работать как другой пользователь с Upstart. Можно ли обойти проверку или запустить как пользователь без права пользователя в выскочке по-другому?
Хм .. У меня была такая же проблема, как и у, и в файле/var/run не было файла mongodb.pid. Однако у меня был другой mongodb (из командной строки). Когда я остановил этот, я смог использовать 'start-stop-daemon' (который используется' sudo start mongodb'). – drevicko
С моим установленным apt-установленным mongodb (1: 2.0.6-1ubuntu4) сценарий инициализации НЕ имеет параметр '-pid', но у него есть' --exec/usr/bin/mongod' - это означает, mongod' работает в любом месте системы, сценарий инициализации не запускает его. – drevicko
Параметр '--pidfile' – geronime