Mongodb не работает на Ubuntu 16.04

Я установил mongodb после этого урока здесь, никаких ошибок во время установки, но когда я пытаюсь запустить сервер mongod с помощью этой команды sudo systemctl start mongodb как упоминает учебник, я получаю эту ошибку, когда пытаюсь проверить, работает ли она с помощью этой команды sudo systemctl status mongodb.

● mongodb.service - High-performance, schema-free document-oriented 

database
   Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: 
   Active: failed (Result: exit-code) since Rab 2016-06-01 18:04:20 MYT; 4s ago
  Process: 8241 ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf (cod
 Main PID: 8241 (code=exited, status=14)

Jun 01 18:04:20 yasinya systemd[1]: Started High-performance, schema-free docume
Jun 01 18:04:20 yasinya systemd[1]: mongodb.service: Main process exited, code=e
Jun 01 18:04:20 yasinya systemd[1]: mongodb.service: Unit entered failed state.
Jun 01 18:04:20 yasinya systemd[1]: mongodb.service: Failed with result 'exit-co
lines 1-10/10 (END)

так может кто-нибудь сказать, что не так, и как я могу это исправить.

Ответы

Ответ 1

Недавно я решил ту же проблему. Я не смог найти решение на googled, но я понял, как это понять. В моем случае эта проблема была связана с файлом mongodb-27017.sock.

Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted

Поэтому я изменил разрешение файла mongodb пользователя mongodb по умолчанию.

sudo chown mongodb /tmp/mongodb-27017.sock
sudo chgrp mongodb /tmp/mongodb-27017.sock

После этого sudo systemctl status mongodb работает нормально и mongodb запущен.

Ответ 2

Попал в ту же проблему, просто перезагрузился

sudo reboot

Ответ 3

У меня было такое же использование,

получить решение просто

sudo reboot

Ответ 4

Эта ошибка возвращается приложениями MongoDB, которые сталкиваются с неисправимой ошибкой, неперехваченным исключением или неперехваченным сигналом. Система выходит без выполнения чистого отключения.

Я решил проблему командой:

sudo chown -R mongodb:mongodb /var/log/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chmod -R 755 /var/lib/mongodb
sudo chmod -R 755 /var/log/mongodb

sudo chown mongodb /tmp/mongodb-27017.sock
sudo chgrp mongodb /tmp/mongodb-27017.sock

Затем перезапустите сервис

sudo systemctl restart mongod

Тогда проверьте ваш сервис mongodb

sudo systemctl status mongod

Ответ 5

Прежде всего, вы должны изучить журнал Монго. Он должен сказать вам, что пошло не так.

$ tail -n 100/var/log/mongodb/mongod.log

Эта команда покажет последние 100 строк файла журнала, которые укажут вам точную проблему.

Например, мой не работал, потому что я mongo экземпляр mongo используя тот же порт 27017. когда я запустил другой экземпляр, экземпляр не удалось загрузить.

ЖУРНАЛ

2018-05-11T19:03:49.102-0400 I CONTROL  [initandlisten] MongoDB starting : pid=1247 port=27017 dbpath=/var/lib/mongodb 64-bit host=dev-hyuen
2018-05-11T19:03:49.103-0400 I CONTROL  [initandlisten] db version v3.2.20
2018-05-11T19:03:49.103-0400 I CONTROL  [initandlisten] git version: a7a144f40b70bfe290906eb33ff2714933544af8
2018-05-11T19:03:49.103-0400 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
2018-05-11T19:03:49.103-0400 I CONTROL  [initandlisten] allocator: tcmalloc
2018-05-11T19:03:49.103-0400 I CONTROL  [initandlisten] modules: none
2018-05-11T19:03:49.103-0400 I CONTROL  [initandlisten] build environment:
2018-05-11T19:03:49.103-0400 I CONTROL  [initandlisten]     distmod: ubuntu1604
2018-05-11T19:03:49.103-0400 I CONTROL  [initandlisten]     distarch: x86_64
2018-05-11T19:03:49.103-0400 I CONTROL  [initandlisten]     target_arch: x86_64
2018-05-11T19:03:49.103-0400 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log", quiet: true } }
2018-05-11T19:03:49.124-0400 E NETWORK  [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 127.0.0.1:27017
2018-05-11T19:03:49.124-0400 E NETWORK  [initandlisten]   addr already in use
2018-05-11T19:03:49.124-0400 E STORAGE  [initandlisten] Failed to set up sockets during startup.
2018-05-11T19:03:49.124-0400 I CONTROL  [initandlisten] dbexit:  rc: 48

Ответ 6

Я получал подобную ошибку, в моем случае mongo не мог использовать 27017. Мне нужно было остановить все, что использовало порт 27017, и перезапустить mongo.

Ответ 7

Проблема может быть связана с отсутствием места с вашим /dev/root/ (это было мое).

Проверьте с помощью df -h и посмотрите, хватит ли свободного места. Иначе, как объяснить то, попытаться освободить некоторое пространство, перемещая файлы журнала на другой диск.

sudo /etc/init.d/rsyslog stop
sudo mv /var/log /OTHERDISK/
sudo ln -s /OTHERDISK/log /var/log
sudo /etc/init.d/rsyslog start

Надеюсь, это поможет, поскольку это помогает мне

Ответ 8

В моем случае системе не удалось найти mongod.service Выполнение следующей команды будет исправлено

sudo systemct1 enable mongod

затем перезапустите базу данных

sudo service mongod restart

Ответ 9

После поиска в течение некоторого времени. Я обнаружил, что это потому, что настройки разрешений в /var/lib/mongodb и /tmp/mongodb-27017.lock неверны. Вам придется сменить владельца на пользователя monogdb

chown -R mongodb:mongodb /var/lib/mongodb
chown mongodb:mongodb /tmp/mongodb-27017.sock

Ответ 10

Шаг 1. sudo systemctl stop mongodb

Шаг 2. sudo systemctl start mongod

Шаг 3. sudo systemctl status mongod

Я надеюсь, что это поможет вам