Ответ 1
Попробуйте следующее:
Напишите mongodb
вместо mongod
sudo service mongodb status
Я только что установил 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
Попробуйте следующее:
Напишите mongodb
вместо mongod
sudo service mongodb status
В тот же день я получил одну и ту же ошибку. Вы должны использовать это:
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)
Для меня решение заключалось в замене
service mongod start
с
start mongod
Вы должны убедиться, что файл (например,/etc/init.d/mongodb) имеет разрешения на выполнение.
chmod +x /etc/init.d/mongodb
Для 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
Для меня ничего не помогло, но после консультации с опытным помощником 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
Я думаю, что вы, возможно, установили версию 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
Просто попробуйте эту команду.
chmod + x/etc/init.d/mongodb
и
sudo service mongod restart