Подтвердить что ты не робот

Sudo service mongodb restart дает "непризнанную служебную ошибку" в ubuntu 14.0.4

Я только что установил mongoDB на ubuntu 14.0.4. Я попытался запустить оболочку, но получаю сообщение об ошибке отказа.

[email protected]:/etc/init.d$ mongo
MongoDB shell version: 2.6.5
connecting to: test
2014-11-10T15:06:28.084-0500 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2014-11-10T15:06:28.085-0500 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed

Поэтому я решил попробовать перезапустить службу, но это тоже не сработало. Появляется следующее сообщение об ошибке:

[email protected]:/etc/init.d$ sudo service mongodb restart
mongodb: unrecognized service
[email protected]:/etc/init.d$ 

Это то, что у меня есть в моем /var/log/mongodb/mongod.log - http://pastebin.com/MrHt8tce

, что я пробовал до сих пор:

Я нашел еще одно сообщение здесь: не может запустить mongodb как sudo который сделал комментарий об удалении файла блокировки монго.

Я удалил файл блокировки, а затем повторил мою команду, но он все еще не работает, как вы можете видеть ниже:

[email protected]:/var/lib/mongodb$ sudo rm mongod.lock 
[email protected]:/var/lib/mongodb$ ls
journal  local.0  local.ns  _tmp

[email protected]:/var/lib/mongodb$ sudo service mongodb start
mongodb: unrecognized service

Но я могу запустить его с помощью /etc/init.d, как вы можете видеть ниже:

[email protected]:/var/lib/mongodb$ sudo /etc/init.d/mongod start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mongod start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mongod
mongod start/running, process 27469
[email protected]:/var/lib/mongodb$ ls
journal  local.0  local.ns  mongod.lock

[email protected]:/var/lib/mongodb$ mongo
MongoDB shell version: 2.6.5
connecting to: test
> db
test
> 

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

4b9b3361

Ответ 1

Попробуйте следующее:

Напишите mongodb вместо mongod

sudo service mongodb status

Ответ 2

В тот же день я получил одну и ту же ошибку. Вы должны использовать это:

1. Получить статус вашего сервиса mongo:

 /etc/init.d/mongod status

или

 sudo service mongod status

2.Если он не начал восстанавливать его так:

sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
sudo service mongodb start

И повторите попытку, если служба снова запущена (1)

Ответ 3

Для меня решение заключалось в замене

service mongod start

с

start mongod

Ответ 4

Вы должны убедиться, что файл (например,/etc/init.d/mongodb) имеет разрешения на выполнение.

chmod +x /etc/init.d/mongodb

Ответ 5

Для debian, из 10gen repo, между 2.4.x и 2.6.x, они переименовали init script/etc/init.d/mongodb в /etc/init.d/mongod и файл конфигурации по умолчанию от /etc/mongodb.conf до/etc/mongod.conf, а также файлы PID и блокировки от "mongodb" до "mongod". Это улучшило боль, и я не вижу, чтобы это упоминалось в их документах где угодно. Во всяком случае, решение состоит в том, чтобы удалить старые версии "mongodb":

update-rc.d -f mongodb remove
rm /etc/init.d/mongodb
rm /var/run/mongodb.pid
diff -ur /etc/mongodb.conf /etc/mongod.conf

Теперь посмотрите и посмотрите, какие изменения в конфигурации вам нужно сохранить, и поместите их в файл mongod.conf.

Тогда:

rm /etc/mongodb.conf

Теперь вы можете:

service mongod restart

Ответ 6

Для меня ничего не помогло, но после консультации с опытным помощником devops я закончил с решением

создать /lib/systemd/system/mongod.service файл с контентом

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

тогда команды запуска/остановки должны работать

$ sudo service mongod start

Для справки - у меня Ubuntu 14.04 LTS, MongoDB 3.2.9 установлен из

deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse

Ответ 7

Я думаю, что вы, возможно, установили версию mongodb для неправильного системного дистрибутива.

Посмотрите, как установить mongodb для ubuntu и debian:

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/ http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

У меня была аналогичная проблема, и произошло то, что я устанавливал пакеты ubuntu в debian

Ответ 8

Просто попробуйте эту команду.

chmod + x/etc/init.d/mongodb

и

sudo service mongod restart