Я хотел бы запустить mongoDB как услугу. Экземпляр должен быть сконфигурирован как однокомпонентный репликас, чтобы иметь возможность подключить экземпляр elasticSearch к нему с помощью the connector.Не удается запустить mongoDB как услугу
Так что я продлил mongod.conf:
...
replication:
replSetName: "singleNodeRepl"
...
Я пробовал разные способы, чтобы начать теперь mongod, но ничего не работает.
Когда я пытаюсь запустить службу по $ service mongod start
, выбрасывается следующее сообщение об ошибке:
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.106" (uid=1225 pid=26018 comm="start mongod ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
Когда я выполнить эту команду, как sudo
, его «работает» и после (Что не лучше-практике, не так ли?) показывается сообщение:
mongod start/running, process 26034
Но процесс 26034 не существует и ps aux | grep mongo
также ничего не показывает ?!
Следующая попытка: Запустить как обычное приложение показано
mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl
Вот следующее исключение:
2016-04-08T14:31:35.192+0200 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /var/lib/mongodb/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2016-04-08T14:31:35.192+0200 I CONTROL [initandlisten] dbexit: rc: 100
Все это хорошо, когда я бегу ~$ sudo mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl
, но это еще не моя цель: Это не работает как сервис и его запуск с правами root.
Манго-лог-файл часто остается нетронутым. Но последние строки любопытны:
2016-04-08T14:24:56.242+0200 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2016-04-08T14:24:56.242+0200 I - [initandlisten] Fatal Assertion 28578
2016-04-08T14:24:56.242+0200 I - [initandlisten]
***aborting after fassert() failure
MongoDB-27017.sock существует, но удаление (что было предложено в любом месте) не помогло.
Основано на эрос выше, если tried serveral solutions, но ничего не помогает.
Я думаю, что это очень простая ошибка ... но какой?
[edit:] Я обнаружил, что я, возможно, должен был указать конфигурационное местоположение. Так что (работает, но плохо) команда выглядит следующим образом:
$ sudo mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl --config /etc/mongod.conf
Это приводит следующее сообщение об ошибке:
warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default
То старая вещь, которая была решением this problem и вдруг больше не работает !?
В журналах я заметил, что файл блокировки не может быть создан или открыт. Это может быть проблема с правами пользователя? Каковы разрешения для ''/var/lib/mongodb/''? –
'rwxr-xr-x 4 mongodb mongodb 4096 Apr 8 14:31 mongodb' – MUmla
Вы пытались удалить оба файла .sock и .lock? –