Не удалось создать / открыть файл блокировки: / data / mongod.блокировка errno: 13 отказано в разрешении
Как заставить монго использовать установленный диск на ec2? Я действительно не понимаю. Я прикрепил том на ec2 отформатировал диск как root и начал как root, и все же как root я не могу получить доступ? Я работаю на Ubuntu 12.04. Ни один другой монго не работает
Я вижу, что монго сделал' db ' dir в /data т. е. /data / db
cd /
ls -al
drwxr-xr-x 4 root root 4096 Mar 5 16:28 data
cd /data
ls -al
total 28
drwxr-xr-x 4 root root 4096 Mar 5 16:28 .
drwxr-xr-x 24 root root 4096 Mar 5 16:28 ..
drwxr-xr-x 2 root root 4096 Mar 5 16:28 db
drwx------ 2 root root 16384 Mar 5 16:20 lost+found
sudo mkfs.ext3 /dev/xvdh
sudo mkdir /data
sudo su - -c 'echo "/dev/xvdh %s auto noatime 0 0" | sudo tee -a /etc/fstab'
sudo mount /data
sudo service mongodb start
mongodb start/running, process 17169
sudo ps -ef | grep mongod
ubuntu 15763 15634 0 16:32 pts/2 00:00:00 tail -f mongodb.log
ubuntu 18049 15766 0 16:43 pts/3 00:00:00 grep --color=auto mongod
Tue Mar 5 16:33:15 [initandlisten] MongoDB starting : pid=15890 port=27017 dbpath=/data 64-bit host=aws-mongo-server-east-staging-20130305161917
Tue Mar 5 16:33:15 [initandlisten] db version v2.2.3, pdfile version 4.5
Tue Mar 5 16:33:15 [initandlisten] git version: f570771a5d8a3846eb7586eaffcf4c2f4a96bf08
Tue Mar 5 16:33:15 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Tue Mar 5 16:33:15 [initandlisten] options: { bind_ip: "10.157.60.27", config: "/etc/mongodb.conf", dbpath: "/data", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", replSet: "heythat" }
Tue Mar 5 16:33:15 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Tue Mar 5 16:33:15 dbexit:
Tue Mar 5 16:33:15 [initandlisten] shutdown: going to close listening sockets...
Tue Mar 5 16:33:15 [initandlisten] shutdown: going to flush diaglog...
Tue Mar 5 16:33:15 [initandlisten] shutdown: going to close sockets...
Tue Mar 5 16:33:15 [initandlisten] shutdown: waiting for fs preallocator...
Tue Mar 5 16:33:15 [initandlisten] shutdown: lock for final commit...
Tue Mar 5 16:33:15 [initandlisten] shutdown: final commit...
Tue Mar 5 16:33:15 [initandlisten] shutdown: closing all files...
Tue Mar 5 16:33:15 [initandlisten] closeAllFiles() finished
Tue Mar 5 16:33:15 [initandlisten] shutdown: removing fs lock...
Tue Mar 5 16:33:15 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Tue Mar 5 16:33:15 dbexit: really exiting now
ниже, если я перезагружаюсь, когда я удаляю файл блокировки....
Tue Mar 5 16:59:15 [initandlisten] MongoDB starting : pid=21091 port=27017 dbpath=/data 64-bit host=aws-mongo-server-east-staging-20130305161917
Tue Mar 5 16:59:15 [initandlisten] db version v2.2.3, pdfile version 4.5
Tue Mar 5 16:59:15 [initandlisten] git version: f570771a5d8a3846eb7586eaffcf4c2f4a96bf08
Tue Mar 5 16:59:15 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Tue Mar 5 16:59:15 [initandlisten] options: { bind_ip: "10.157.60.27", config: "/etc/mongodb.conf", dbpath: "/data", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", replSet: "heythat" }
Tue Mar 5 16:59:15 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Tue Mar 5 16:59:15 dbexit:
Tue Mar 5 16:59:15 [initandlisten] shutdown: going to close listening sockets...
Tue Mar 5 16:59:15 [initandlisten] shutdown: going to flush diaglog...
Tue Mar 5 16:59:15 [initandlisten] shutdown: going to close sockets...
Tue Mar 5 16:59:15 [initandlisten] shutdown: waiting for fs preallocator...
Tue Mar 5 16:59:15 [initandlisten] shutdown: lock for final commit...
Tue Mar 5 16:59:15 [initandlisten] shutdown: final commit...
Tue Mar 5 16:59:15 [initandlisten] shutdown: closing all files...
Tue Mar 5 16:59:15 [initandlisten] closeAllFiles() finished
Tue Mar 5 16:59:15 [initandlisten] shutdown: removing fs lock...
Tue Mar 5 16:59:15 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Tue Mar 5 16:59:15 dbexit: really exiting now
24 ответов:
у меня была такая же проблема на экземпляре Ubuntu ec2. Я следил за этой статьей amazon на странице 7:
http://d36cz9buwru1tt.cloudfront.net/AWS_NoSQL_MongoDB.pdf
Mongodb путь в
/etc/mongodb.confбыл установлен до/var/lib/mongodb(основное место установки и работы). Когда я изменился на/data/db(EBS volume) я получал 'errno:13 разрешение отказано'.
- сначала я побежал
sudo service mongodb stop.- тогда я использовал
ls -laпосмотреть какая группа и владелец mongodb назначены/var/lib/mongodb(существующий путь) и я поменял/data/db(новый путь) сchownиchgrpв матче. (пример:sudo chown -R mongodb:mongodb /data/db)- затем я обновил путь в
etc/mongodb.confдо/data/dbи удалил старые файлы монго в
в моем случае (AWS EC2 instance, Ubuntu) помогло:
$ sudo mkdir -p /data/db/ $ sudo chown `USERNAME` /data/dbи после этого все работало нормально.
вы просто должны дать доступ к вашей .
тип
sudo chown -R <USERNAME> /data/dbзаменить<USERNAME>по вашему имени пользователя.вы можете найти свое имя пользователя, введя
whoami.
Я установил mongodb с EBS на EC2 с Ubuntu 14.04 после этого урока:
http://docs.mongodb.org/ecosystem/platforms/amazon-ec2/
но вместо предложенного меню я сделал:
sudo chown -R mongodb:mongodb /data /log /journalчтобы устранить проблему
У меня была аналогичная проблема, и я следовал всем инструкциям выше относительно смены владельцев с помощью sudo chown и т. д. У меня все еще был экземпляр mongodb, работающий в фоновом режиме после изменений. Работает
ps auxw | grep mongoпоказал мне другие задачи, используя монго работает в фоновом режиме, которые не были закрыты должным образом. Затем я запустил kill на всех запущенных, а затем мог запустить свой сервер.
для пользователей mac:
Беги ls-ld /data/db/
Вывод должен быть что-то вроде drwrx-xr - x 20 singh wheel 680 21 Jul 05: 49 /data/db/
Где Сингх и колеса это группа, к которой он принадлежит.
Беги sudo chown-R singh: wheel / data / db
Беги mongod
на сегодняшний день, я пытался сделать мой путь через чтобы создать / открыть файл блокировки: / data/db / mongod.блокировка errno: 13 отказано в разрешении уже запущен экземпляр mongod?, завершение, и попробовал все ответы, опубликованные выше, чтобы решить эту проблему, поэтому ничего не получилось, добавив
sudo chown-R mongodb:mongodb / data / db
Если я не добавил свое текущее разрешение пользователя в путь к местоположению с помощью
sudo chown $USER / data / db
надеюсь, это кому-то поможет. Также я только что установил Mongo DB на свой pi. Ура!
удаление mongodb.блокировка файла не была проблемой в моем случае. Я сделал это и получил сообщение об ошибке о том, что порт используется: [initandlisten] listen(): bind() failed errno:98 адрес уже используется для сокета: 0.0.0.0:27017. Я нашел другое решение здесь:не удается запустить локальный сервер mongodb с инструкциями, чтобы убить процесс:
узнайте у netstat, какой процесс работает mongodb port (27017)
sudo netstat -tulpn | grep :27017выход будет: tcp 0 0 0.0.0.0:27017 0.0.0.0: * слушайте 1412 / mongod
убить соответствующий процесс.
sudo kill 1412(замените 1412 вашим идентификатором процесса, найденным на шаге 1)и я смог успешно запустить mongodb снова. Я считаю, что мой все еще бежал от неправильного закрытия.
для тех из вас, кто испытывает эту ошибку в Windows, используя диспетчер задач, завершите экземпляр "mongod.exe", который работает. Как только это будет сделано, навсегда удалите монго.заблокируйте файл и запустите mongod.исполняемый. После этого он должен отлично работать.
у меня была аналогичная проблема, фактическая причина заключалась в том, что сеанс mongod был запущен уже с моей предыдущей попытки.
Я побежал
killall mongodи все остальное прошло так, как ожидалось.
killallкоманда будет посылать сигнал термина всем процессам с реальным UID. Таким образом, это убивает все запущенные экземпляры mongod, чтобы вы могли начать свой собственный.
В Mycase
В mongodb версии 2.6.11 каталог базы данных по умолчанию -/var/lib/mongodb/
$ sudo chown-R
id -u/var / lib / mongodb/$ sudo chown-R
id -u/var/lib/mongodb / mongod.замок
$ sudo /etc/init.d/mongod stop
$ sudo /etc/init.d/mongod start
мой mongo (3.2.9) был установлен на Ubuntu, и мой файл журнала имел следующие строки:
2016-09-28T11:32:07.821+0100 E STORAGE [initandlisten] WiredTiger (13) [1475058727:821829][6785:0x7fa9684ecc80], file:WiredTiger.wt, connection: /var/lib/mongodb/WiredTiger.turtle: handle-open: open: Permission denied 2016-09-28T11:32:07.822+0100 I - [initandlisten] Assertion: 28595:13: Permission denied 2016-09-28T11:32:07.822+0100 I STORAGE [initandlisten] exception in initAndListen: 28595 13: Permission denied, terminating2016-09-28T11: 32: 07.822+0100 I CONTROL [initandlisten] dbexit: rc: 100
Итак, проблема была в разрешениях на папку /var/lib/mongodb.
sudo chown -R mongodb:mongodb /var/lib/mongodb/ sudo chmod -R 755 /var/lib/mongodb
- перезагрузить сервер
исправлено, хотя я понимаю, что это может быть не слишком безопасно (это мой собственный dev box я в моем случае), бит после изменения как БД, так и проверка подлинности работал.
на Fedora 18 с экземпляром Mongo 2.2.4 я смог обойти аналогичную ошибку, отключив SELinux, вызвав
setenforce 0как root.кстати, это была корпоративная среда, а не экземпляр Amazon EC2, но симптомы были похожи.
в моем случае проблема была решена путем удаления log.
sudo rm /log/mongod.logхотя сообщение об ошибке относится именно к замок file:
exception in initAndListen: 10309 Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
после того, как я убил mongod, у меня была та же проблема: не мог запустить mongod.
$> sudo kill `pidof mongod`
2015-08-03T05:58:41.339+0000 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongodbtest/replset/data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminatingпосле того, как я удалю блокировку напрямую, я могу перезапустить процесс mongod.
$> rm -rf /data/mongodbtest/replset/data/mongod.lock
Это то, что я сделал для устранения проблемы:
$sudo mkdir-p / data / db
$ export PATH=/usr / local/Cellar/mongodb/3.0.7 / bin:$PATH
$sudo chown-R
id -u/ data / dbи затем, чтобы начать монго...
$mongod
Do
ls -laзнать пользователя и группу /var/log / mongodb. Тогда сделайsudo chown -R user:group /data/dbТеперь бегиsudo service mongodb start. Проверьте статус с помощьюsudo service mongodb status
У меня была та же проблема.
Я решил это, изменив статус selinux на permissive с помощью команды ниже:
setenforce 0
вы можете попробовать этими способами. 1-й.
судо команду chown -R в команду mongod:команду mongod /данные/дБ
но в некоторых случаях это не полезно. 2-й. Если вышеописанный способ не является полезным,вы можете попробовать сделать это:
mkdir/data / db #в качестве пути хранения базы данных
nohup mongod --dbpath / data / db &
или типа:
mongod --dbpath / data / db
на выходе получить поток
для меня на CentOS 6.x:
sudo chown -R mongodb:mongodb <db-path> sudo service mongod restartи я установил обычай
db-pathin/etc/mongod.conf.
исправления:
sudo mongodу меня была та же проблема, работает mongod с привилегиями sudo исправлено. Исходя из среды windows, я использовал только
mongodчтобы запустить демон, Ну, похоже, нам нужны привилегии суперпользователя для доступа/data / db.вы также можете оставить пользователей без root доступа на чтение и запись в этот путь. проверьте ответы выше для руководства!
каждый раз, когда вы пытаетесь запустить mongod просто наберите
sudo mongodили если постоянно хотите исправить это, просто попробуйте дать rwx premission в папку / data / db
chmod +rwx data/
Comments