Я устанавливаю mongodb с конфигурациями по умолчанию, и он запускается нормально, но когда я изменил dbpath значение, чтобы указать на другую позицию, он начал давать мне исключения, может ли кто-нибудь помочь мне и сказать мне, где я делаю ошибку,
Вот мой /etc/mongod.conf файл, который я изменяю,
Вот что я получаю при попытке запустить mongodb
Вот мои журналы mongodb из /var/log/mongo/mongod.log
вот мой / ebs / mongo / и / ebs / mongo / db разрешения
вот часть запуск службы mongod (он довольно большой :()
strace -f сервис mongod start> test.txt
Я действительно понятия не имею, что здесь происходит :(, пролейте свет, пожалуйста ... Заранее спасибо
Ваш db
папка принадлежит root:root
и вы не должны запускать MongoDB как root
. Если вы используете значения по умолчанию MongoDB (вы не указываете, какой вариант Linux вы используете), тогда служба будет запускаться как mongod
или mongodb
пользователь, а не root
, что является правильным поведением.
Следовательно, когда mongod
процесс пытается создать / использовать mongod.lock
файл вы получаете ошибку разрешений. Вам необходимо изменить разрешения /ebs/mongo/db
соответственно. Это можно сделать с помощью одной из следующих команд (как root
, или с помощью sudo):
chown -R mongodb:mongodb /ebs/mongo/db
Или:
chown -R mongod:mongod /ebs/mongo/db
Вы также захотите убедиться, что все logpath
вы используете, может быть написано тем же пользователем. Я в основном ответил на этот раньше в StackOverflow с немного другой причиной, так что посмотрите и там.