Не удалось запустить mongod.service: устройство mongod.service не найдено

42

По любой причине, когда я пытаюсь запустить MongoDB как сервис (sudo service mongod start), я получаю следующую ошибку:

Не удалось запустить mongod.service: модуль mongod.service не найден. Я следовал указаниям по установке, по следующей ссылке установка mongo db не удалась

system> sudo systemctl start mongodb
Failed to start mongodb.service: Unknown unit: mongodb.service

И когда я пытаюсь sudo mongod:

MongoDB shell version: 3.2.13 connecting to: - 
2017-06-03T16:19:28.513+0530 W NETWORK [thread1] 
Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused 
2017-06-03T16:19:28.514+0530 E QUERY [thread1] 
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 exception: connect failed

И когда я пытаюсь mongod --repair:

2017-06-03T16:32:35.514+0530 I CONTROL [initandlisten] 
MongoDB starting : pid=17423 port=27017 dbpath=/data/db 64-bit host=sid-Ideapad-Z570 2017-06-03T16:32:35.514+0530 I 
CONTROL [initandlisten] db version v3.2.13 [listen] target_arch: x86_64 2017-06-03T16:32:35.514+0530 I 
CONTROL [initandlisten] options: {} 2017-06-03T16:32:35.540+0530 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
Сиддхарт Джайн
источник
Каков вывод этой команды: ls /etc/systemd/system | grep mongoВывод?
Али Размдидех
out put is mongodb.service
Сиддхарт Джейн
У вас есть этот файл? /usr/bin/mongod; если есть, что вывод этой командыsudo mongod
Али Размдидех
MongoDB shell version: 3.2.13 connecting to: - 2017-06-03T16:19:28.513+0530 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused 2017-06-03T16:19:28.514+0530 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 exception: connect failed
Сиддхарт Джейн
1
попробуйте mongod --repairтогда sudo mongod; это может быть полезно
Али Razmdideh

Ответы:

65

Я переустановил mongod-org, так как мои данные останутся в безопасности.

Проблема состояла в том, что моя система не могла найти mongod.service, когда я бежал sudo service mongod status.

Запуск этого исправил и восстановил службу:

sudo systemctl enable mongod

Тогда все, что мне нужно было сделать, это скопировать мой правильный конфиг /etc/mongod.confи запустить

sudo service mongod restart
Шубхам Чаудхари
источник
9
Я пытался включить Mongod, но это показываетFailed to execute operation: No such file or directory
Мостафиз Рахман
Просто отметьте, что это работает, когда вы установили версию сообщества mongodb из репозиториев mongodb
yeeking
Попробуйте:sudo service mongodb status
Xonshiz
16

Это сработало для меня.

  1. Удалите монго полностью из вашей системы:

    sudo service mongod stop 
    sudo apt-get purge mongodb-org* 
    sudo rm -r /var/log/mongodb 
    sudo rm -r /var/lib/mongodb
    
  2. Теперь переустановите mongodb, используя следующие команды:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
    sudo apt-get update
    sudo apt-get install -y mongodb-org
    

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

    sudo apt-get install -y mongodb-org=3.6.0 mongodb-org-server=3.6.0 mongodb-org-shell=3.6.0 mongodb-org-mongos=3.6.0 mongodb-org-tools=3.6.0
    
  3. Теперь вы можете видеть, как работает mongod, но все же проблема вас беспокоит. Проблема в том, что ваша система не может найти mongod.service при запуске sudo service mongod status.

    Запуск этого исправил и восстановил службу:

    sudo systemctl enable mongod
    
  4. Теперь вы готовы использовать монго.

    sudo service mongod restart
    
Акаш Джайн
источник
Я сделал ваше руководство, но я получаю следующую ошибку: Failed to enable unit: Unit file mongod.service does not exist.@Akash Jain
Alper
После этого у меня был успех, но на шаге 3 я это сделал, sudo systemctl enable mongodbа на шаге 4 я сделал sudo systemctl start mongodb. Обратите внимание на неожиданное bв mongodb вместо просто mongod.
ArtHare
3

Я тоже столкнулся с точной проблемой, упомянутой OP, хотя я установил Mongodb, используя официальное руководство по установке ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ ),

ПРИМЕЧАНИЕ. На шаге 2 руководства (создайте файл списка для Mongodb) важно щелкнуть вкладку, относящуюся к конкретной версии Ubuntu на вашем компьютере. По умолчанию он показывает Ubuntu 14.04, которая создала проблемы, упомянутые OP (Не удалось запустить mongod.service: модуль mongod.service не найден)

Когда я наконец заметил, что на шаге 2 мне нужно было правильно выбрать Ubuntu 16.04 (для меня), установка прошла успешно, и после этого mongod запустился без проблем.

Бхарат Маллапур
источник
Спасибо, я также не заметил вкладки версий! Деинсталлируется как в docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/…, а затем снова следует установка с соответствующей версией.
Пит Монтгомери