Nie można utworzyć / otworzyć pliku blokady: / data / mongod.lock errno:13 Permission denied

Jak zmusić mongo do używania zamontowanego napędu na ec2? Naprawdę nie rozumiem. Załączyłem wolumin na ec2 sformatowałem dysk jako root i rozpocząłem jako root, a jeszcze jako root nie mogę uzyskać dostępu? Działam na ubuntu 12.04. No other mongo is running

Widzę, że mongo zrobił' db ' dir w / data czyli / 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

Poniżej jest, jeśli ponownie uruchomię się po usunięciu pliku blokady....

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
 176
Author: Tampa, 2013-03-05

24 answers

Miałem ten sam problem na instancji Ubuntu ec2. Śledziłem ten artykuł amazon na stronie 7:

Http://d36cz9buwru1tt.cloudfront.net/AWS_NoSQL_MongoDB.pdf

Ścieżka Mongodb w /etc/mongodb.conf została ustawiona na /var/lib/mongodb (główna lokalizacja instalacji i działa). Kiedy zmieniłem na /data/db (EBS volume) otrzymałem 'errno:13 Permission denied'.

  1. najpierw uciekłem sudo service mongodb stop.
  2. następnie użyłem ls -la, aby zobaczyć, do której grupy i właściciela MongoDB przypisał /var/lib/mongodb (istniejący path) i zmieniłem /data/db (nowa ścieżka) na chown i chgrp aby pasowały. (przykład: sudo chown -R mongodb:mongodb /data/db)
  3. następnie zaktualizowałem ścieżkę w etc/mongodb.conf do /data/db i usunąłem stare pliki mongo w katalogu /var/lib/mongodb.
  4. Potem pobiegłem i czekałem około minuty. Jeśli spróbujesz natychmiast połączyć się z 27017, nie będziesz w stanie.
  5. Po minutowym sprawdzeniu /data/db (Tom EBS) i mongo powinien był umieścić dziennik, mongod.lock, local.NS, lokalne.0 itd. Jeśli nie spróbuj sudo service mongodb restart i sprawdź minutę później.
Spędziłem z tym ponad godzinę. Zmiana grupy i usunięcie starych plików prawdopodobnie nie jest konieczne, ale to mi się udało. Jest to świetny film o montowaniu woluminu ebs do instancji ec2:]}

Http://www.youtube.com/watch?v=gBII3o3BofU

 101
Author: Randy Swanson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-22 08:21:10

Używam tej metody do rozwiązania problemu:

sudo chown -R `id -u` /data/db
 469
Author: Haimei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-29 03:15:06

W moim przypadku (instancja AWS EC2, Ubuntu) pomógł:

$ sudo mkdir -p /data/db/
$ sudo chown `USERNAME` /data/db
A potem wszystko działało dobrze.
 80
Author: Belhor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-28 14:42:04

Musisz tylko dać dostęp do folderu /data/db.

Type sudo chown -R <USERNAME> /data/db, replace <USERNAME> by your username.

Możesz znaleźć swoją nazwę użytkownika wpisując whoami.

 49
Author: julien bouteloup,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-17 12:59:23

Zainstalowałem mongodb z EBS na EC2 z Ubuntu 14.04 po tym tutorialu:

Http://docs.mongodb.org/ecosystem/platforms/amazon-ec2/

Ale zamiast sugerowanego chown zrobiłem:

sudo chown -R mongodb:mongodb /data /log /journal

Aby Rozwiązać problem

 12
Author: Evers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-28 12:03:27

Miałem podobny problem i postępowałem zgodnie ze wszystkimi powyższymi instrukcjami dotyczącymi zmiany właścicieli za pomocą sudo chown itp. Nadal miałem instancję mongodb działającą w tle po zmianach. Running

ps auxw | grep mongo 

Pokazał mi inne zadania z użyciem Mongo działające w tle, które nie były poprawnie zamknięte. Następnie uruchomiłem kill na wszystkich uruchomionych, a następnie mogłem uruchomić serwer.

 6
Author: Eugene G,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-08 03:03:19

dla użytkowników komputerów mac:
Run ls-LD / data / db /
Wyjście powinno być coś w stylu drwrx-xr-x 2010-06-21 05: 49/data/db /
Gdzie singh jest właścicielem, a Koło jest grupą, do której należy.
Run sudo chown-R:wheel / data / db
Run mongod

 6
Author: amanSingh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-20 20:07:15

Od dzisiaj starałem się przebrnąć przez aby utworzyć plik / open lock: / data/db / mongod.lock errno: 13 Permission denied czy instancja mongod jest już uruchomiona?, zakończenie, i próbowałem wszystkich odpowiedzi zamieszczonych powyżej, aby rozwiązać ten problem, stąd nic nie wyszło dodając

Sudo chown-r mongodb: mongodb / data / db

Chyba że dodałem moje aktualne uprawnienia użytkownika do ścieżki lokalizacji przez

Sudo chown $USER / data / db

Mam nadzieję, że to komuś pomoże. Również właśnie zainstalowałem Mongo DB na moim pi. Zdrowie!

 6
Author: Abdullah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-13 02:06:48

Usunięcie mongodb.plik blokady nie był problemem w moim przypadku. Zrobiłem to i dostałem błąd o porcie jest w użyciu: [initandlisten] listen (): bind() failed errno: 98 adres już używany dla gniazda:0.0.0.0: 27017. Znalazłem inne rozwiązanie tutaj: nie można uruchomić lokalnego serwera mongodb z instrukcjami zabicia procesu:

  1. Dowiedz się z netstat, który proces uruchamia Port mongodb (27017)

    sudo netstat -tulpn | grep :27017

    Wyjście będzie: tcp 0 0 0.0.0.0:27017 0.0.0.0: * LISTEN 1412 / mongod

  2. Zabić odpowiedni proces.

    sudo kill 1412 (zastąp 1412 identyfikatorem procesu znalezionym w kroku 1)

I udało mi się ponownie uruchomić mongodb. Uważam, że mój nadal uciekał przed niewłaściwym zamknięciem.
 4
Author: Casey Murray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:50

Dla tych z Was, którzy doświadczają tego błędu w systemie Windows za pomocą Menedżera zadań Zakończ instancję " mongod.exe " to działa. Po zakończeniu tego trwale usunąć mongo.Zablokuj plik i uruchom mongod.exe. Po tym powinno działać idealnie.

 4
Author: b_kik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-13 12:18:45

Miałem podobny problem, faktycznym powodem było to, że była sesja mongod uruchomiona już z mojej poprzedniej próby.

I ran

killall mongod
I wszystko inne przebiegało zgodnie z oczekiwaniami.

killall polecenie wysyła sygnał TERM do wszystkich procesów z rzeczywistym UID. Więc to zabija wszystkie uruchomione instancje mongod tak, że można rozpocząć własne.

 3
Author: SGS Venkatesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-21 03:19:01

In Mycase
W mongodb w wersji 2.6.11 domyślnym katalogiem bazy danych jest /var/lib/mongodb/

  1. $ sudo chown-R id -u / var / lib / mongodb /

  2. $ sudo chown-R id -u / var/lib / mongodb / mongod.lock

  3. $ sudo /etc/init.d/mongod stop

  4. $ sudo /etc/init.d/mongod start

 2
Author: vijay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-07 19:23:05

Mój mongo (3.2.9) został zainstalowany na Ubuntu, a mój plik dziennika miał następujące linie:

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, terminating

2016-09-28T11:32: 07.822+0100 I CONTROL [initandlisten] dbexit: rc: 100

Więc problem był w uprawnieniach w folderze/var/lib / mongodb.

sudo chown -R mongodb:mongodb /var/lib/mongodb/
sudo chmod -R 755 /var/lib/mongodb
  • Restart serwera

Naprawiono, choć zdaję sobie sprawę, że może to nie być zbyt bezpieczne (to mój własny dev box, w moim przypadku), bit po zmianie ZARÓWNO db, jak i uwierzytelnianie działało.

 2
Author: Nestor Milyaev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-28 10:46:51

Na Fedorze 18 z instancją Mongo 2.2.4 udało mi się obejść podobny błąd, wyłączając SELinux przez wywołanie setenforce 0 jako root.

BTW, to było środowisko korporacyjne, a nie instancja Amazon EC2, ale objawy były podobne.

 1
Author: GSP,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-19 13:08:51

W moim przypadku problem został rozwiązany poprzez usunięcie log plik.

sudo rm /log/mongod.log

Chociaż komunikat o błędzie odnosi się konkretnie do lock plik:

exception in initAndListen: 10309 Unable to create/open lock file: 
/data/mongod.lock errno:13 Permission denied 
Is a mongod instance already running?, terminating
 1
Author: Ian Mercer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-29 20:05:30

Po tym jak zabiłem mongoda, miałem ten sam problem: nie mogłem uruchomić mongoda.

$> 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

Po usunięciu blokady bezpośrednio, mogę ponownie uruchomić proces mongod.

$>  rm -rf /data/mongodbtest/replset/data/mongod.lock
 1
Author: Andy Dong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-03 06:08:52

Oto, co zrobiłem, aby rozwiązać problem:

$sudo mkdir-p/data / db

$export PATH= / usr / local/Cellar/mongodb/3.0.7 / bin:$PATH

$ sudo-R id -u / data / db

A potem zacząć mongo...

$mongod

 1
Author: user4660857,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-20 02:11:30

Do ls -la aby poznać użytkownika i grupę /var / log / mongodb. Następnie wykonaj sudo chown -R user:group /data/db Teraz uruchom sudo service mongodb start. Sprawdź status za pomocą sudo service mongodb status

 0
Author: Tasneem Haider,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-01 17:58:32

W systemie windows upewnij się, że konsola jest uruchomiona jako aministrator

 0
Author: Iacobescu Radu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-29 08:49:27

Miałem ten sam problem.

Rozwiązałem to zmieniając status selinux na permissive za pomocą poniższego polecenia:

setenforce 0
 0
Author: Maryam Jafari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-20 07:44:37

Możesz spróbować w ten sposób. 1st.

Sudo chown-r mongod: mongod / data / db

Ale czasami nie jest to przydatne. 2. jeśli powyższy sposób nie jest przydatny, możesz spróbować to zrobić:

Mkdir / data / db # jako ścieżka przechowywania bazy danych

Nohup mongod --dbpath / data /db &

Lub typ:

Mongod --dbpath / data / db

Aby uzyskać strumień wyjściowy

 0
Author: Wotchin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-27 04:00:20

Dla mnie na CentOS 6.x:

sudo chown -R mongodb:mongodb <db-path> sudo service mongod restart

I ustawiłem custom db-path w /etc/mongod.conf.

 0
Author: osrpt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-05 15:56:08

Fix: sudo mongod

Miałem ten sam problem, uruchomiony mongod z uprawnieniami sudo naprawił to. Wychodząc ze środowiska windows, użyłem po prostu mongod, aby uruchomić demona, cóż wygląda na to, że potrzebujemy uprawnień superużytkownika, aby uzyskać dostęp do / data / db.

Możesz również nadać tej ścieżce uprawnienia do odczytu i zapisu innym użytkownikom niż root. sprawdź odpowiedzi powyżej dla przewodnika!

 -1
Author: aimuhire,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-30 10:07:40

Za każdym razem, gdy próbujesz uruchomić mongod po prostu wpisz

sudo mongod

Lub jeśli na stałe chcesz to naprawić po prostu spróbuj dać RWX premission do folderu/data / db

 chmod +rwx data/
 -1
Author: shishir bondre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-31 07:00:41