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
Я надеюсь, что это поможет вам