[mongodb] 잠금 파일을 작성 / 열 수 없습니다. /data/mongod.lock errno : 13 권한이 거부되었습니다.

EC2에서 mongo가 마운트 된 드라이브를 사용하도록하려면 어떻게해야합니까? 나는 정말로 이해하지 못한다. ec2에 볼륨을 연결하여 드라이브를 루트로 포맷하고 루트로 시작했지만 루트로 액세스 할 수 없습니까? 우분투 12.04에서 실행 중입니다. 다른 몽고가 실행되고 있지 않습니다

mongo가 / data, 즉 / data / db에 ‘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



답변

우분투 EC2 인스턴스에서 동일한 문제가 발생했습니다. 7 페이지의이 아마존 기사를 따르고있었습니다.

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

Mongodb 경로 /etc/mongodb.conf/var/lib/mongodb(1 차 설치 위치 및 작동) 로 설정되었습니다 . /data/db(EBS 볼륨)으로 변경하면 ‘errno : 13 Permission denied’가 발생했습니다.

  1. 먼저 나는 달렸다 sudo service mongodb stop .
  2. 그럼 내가 사용하는 ls -la그룹 및 소유자 MongoDB를이 할당을 확인하려면 /var/lib/mongodb(기존 경로)와 나는 변화 /data/db와 함께 (새 경로) chownchgrp일치합니다. (예:sudo chown -R mongodb:mongodb /data/db )
  3. 그럼 난의 경로 업데이트 etc/mongodb.conf에를 /data/db와에 이전 몽고 파일을 삭제/var/lib/mongodb 디렉토리.
  4. 그런 다음 나는 달렸다 sudo service mongodb start 1 분 정도 기다렸다. 27017에 즉시 연결하려고하면 사용할 수 없습니다.
  5. 1 분 후 /data/db(EBS 볼륨) 몽고는 저널, mongod.lock, local.ns, local.0 등을 배치해야합니다 sudo service mongodb restart. 1 분 후에 시도하지 않으면 확인하십시오.

나는 이것으로 한 시간 이상을 보냈습니다. 그룹을 변경하고 이전 파일을 삭제하는 것이 필요하지는 않지만 저에게 효과적입니다.

이것은 ebs 볼륨을 ec2 인스턴스에 마운트하는 것에 대한 훌륭한 비디오입니다.

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


답변

이 방법을 사용하여 문제를 해결합니다.

sudo chown -R mongodb:mongodb /data/db


답변

필자의 경우 (AWS EC2 인스턴스, Ubuntu)가 도움이되었습니다.

$ sudo mkdir -p /data/db/
$ sudo chown `USERNAME` /data/db

그 후 모든 것이 잘 작동했습니다.


답변

당신은 당신에게 액세스 권한을 부여해야합니다 /data/db폴더에 됩니다.

입력 sudo chown -R <USERNAME> /data/db, 교체<USERNAME> 사용자 이름으로.

을 입력하여 사용자 이름을 찾을 수 있습니다 whoami.


답변

이 튜토리얼에 따라 Ubuntu 14.04가 설치된 EC2에 mongodb를 EBS와 함께 설치했습니다.

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

그러나 제안 된 chown 대신에 나는 :

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

문제를 해결하려면


답변

비슷한 문제가 있었는데 실제 이유는 이전 시도에서 이미 mongod 세션이 실행 되었기 때문입니다.

나는 달렸다

killall mongod

그리고 다른 모든 것은 예상대로 실행되었습니다.

killall명령은 실제 ​​UID를 사용하여 모든 프로세스에 TERM 신호를 보냅니다. 따라서 이것은 실행중인 mongod의 모든 인스턴스를 죽여서 스스로 시작할 수 있습니다.


답변

오늘로서, 나는 통해 자신의 길을 가려고 13 권한이 mongod 인스턴스가 이미 종료? 실행되어 거부 : /data/db/mongod.lock의 errno는 : 만들 수있는 개방 / 잠금 파일 , 모든 대답에 이상 게시 시도 이 문제를 해결하십시오. 따라서 아무것도 해결하지 못했습니다.

sudo chown -R mongodb : mongodb / data / db

현재 사용자 권한을 위치 경로에 추가하지 않는 한

sudo chown $ USER / data / db

이것이 누군가를 돕기를 바랍니다. 또한 방금 Pi에 Mongo DB를 설치했습니다. 건배!