Mongodb 서비스가 시작되지 않습니다.
왜 그런지는 모르겠지만, 어제만 해도 서비스가 정상적으로 작동했는데, 갑자기 MongoDB를 시작할 수가 없습니다.
[root@purr ~]# service mongod start
Starting mongod: Thu Aug 29 23:26:07.550
Thu Aug 29 23:26:07.550 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Aug 29 23:26:07.550
about to fork child process, waiting until server is ready for connections.
forked process: 5078
all output going to: /var/log/mongo/mongod.log
ERROR: child process failed, exited with error number 100
[FAILED]
/var/log/mongo/mongod.log 및 다음을 검색했습니다.
***** SERVER RESTARTED *****
Thu Aug 29 23:29:05.874 [initandlisten] MongoDB starting : pid=5118 port=27017 dbpath=/var/lib/mongo 32-bit host=purr.ipetfindr.com
Thu Aug 29 23:29:05.874 [initandlisten]
Thu Aug 29 23:29:05.874 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Thu Aug 29 23:29:05.874 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal).
Thu Aug 29 23:29:05.874 [initandlisten] ** Note that journaling defaults to off for 32 bit and is currently off.
Thu Aug 29 23:29:05.874 [initandlisten] ** See http://dochub.mongodb.org/core/32bit
Thu Aug 29 23:29:05.874 [initandlisten]
Thu Aug 29 23:29:05.874 [initandlisten] ** WARNING: You are running in OpenVZ. This is known to be broken!!!
Thu Aug 29 23:29:05.875 [initandlisten]
Thu Aug 29 23:29:05.875 [initandlisten] db version v2.4.6
Thu Aug 29 23:29:05.875 [initandlisten] git version: b9925db5eac369d77a3a5f5d98a145eaaacd9673
Thu Aug 29 23:29:05.875 [initandlisten] build info: Linux bs-linux32.10gen.cc 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Aug 29 23:29:05.875 [initandlisten] allocator: system
Thu Aug 29 23:29:05.875 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/var/lib/mongo", fork: "true", logappend: "true", logpath: "/var/log/mongo/mongod.log", pidf$
**************
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
Thu Aug 29 23:29:05.875 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Thu Aug 29 23:29:05.875 dbexit:
Thu Aug 29 23:29:05.875 [initandlisten] shutdown: going to close listening sockets...
Thu Aug 29 23:29:05.875 [initandlisten] shutdown: going to flush diaglog...
Thu Aug 29 23:29:05.875 [initandlisten] shutdown: going to close sockets...
Thu Aug 29 23:29:05.875 [initandlisten] shutdown: waiting for fs preallocator...
Thu Aug 29 23:29:05.875 [initandlisten] shutdown: closing all files...
Thu Aug 29 23:29:05.875 [initandlisten] closeAllFiles() finished
Thu Aug 29 23:29:05.875 dbexit: really exiting now
서버를 다시 시작하고 서비스가 안 되는 것 같은데 어떻게 해결해야 하나요?
복구 후 오류
오류에 대해 /var/lib/mongo/local.ns 종료 중인 파일을 열 수 없다는 메시지가 표시됩니다.
***** SERVER RESTARTED *****
Fri Aug 30 04:49:43.041 [initandlisten] MongoDB starting : pid=3300 port=27017 dbpath=/var/lib/mongo 32-bit host=purr.ipetfindr.com
Fri Aug 30 04:49:43.041 [initandlisten]
Fri Aug 30 04:49:43.041 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Fri Aug 30 04:49:43.041 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal).
Fri Aug 30 04:49:43.041 [initandlisten] ** Note that journaling defaults to off for 32 bit and is currently off.
Fri Aug 30 04:49:43.041 [initandlisten] ** See http://dochub.mongodb.org/core/32bit
Fri Aug 30 04:49:43.041 [initandlisten]
Fri Aug 30 04:49:43.041 [initandlisten] ** WARNING: You are running in OpenVZ. This is known to be broken!!!
Fri Aug 30 04:49:43.041 [initandlisten]
Fri Aug 30 04:49:43.041 [initandlisten] db version v2.4.6
Fri Aug 30 04:49:43.041 [initandlisten] git version: b9925db5eac369d77a3a5f5d98a145eaaacd9673
Fri Aug 30 04:49:43.041 [initandlisten] build info: Linux bs-linux32.10gen.cc 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Fri Aug 30 04:49:43.041 [initandlisten] allocator: system
Fri Aug 30 04:49:43.041 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/var/lib/mongo", fork: "true", logappend: "true", logpath: "/var/log/mongo/mongod.log", pidf$
Fri Aug 30 04:49:43.058 [initandlisten] couldn't open /var/lib/mongo/local.ns errno:13 Permission denied
Fri Aug 30 04:49:43.058 [initandlisten] error couldn't open file /var/lib/mongo/local.ns terminating
Fri Aug 30 04:49:43.059 dbexit:
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: going to close listening sockets...
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: going to flush diaglog...
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: going to close sockets...
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: waiting for fs preallocator...
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: closing all files...
Fri Aug 30 04:49:43.059 [initandlisten] closeAllFiles() finished
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: removing fs lock...
Fri Aug 30 04:49:43.059 dbexit: really exiting now
수리를 실행한 후 몽고드 프로세서를 시작할 수 있었지만 루트로 시작할 수 있었고, 그 의미는 다음과 같습니다.service mongod start
작동하지 않을 것입니다.이 문제를 해결하기 위해 데이터베이스 폴더 내의 모든 파일이 소유되어 있고 mongod로 그룹화되어 있는지 확인해야 했습니다.이 작업은 다음과 같습니다.
- 데이터베이스 폴더 내의 파일 권한 확인
- 참고로 당신은 당신의 dbpath 폴더에 있어야 합니다. 나의 것은.
/var/lib/mongo
다녀왔습니다cd /var/lib
- 도망친
ls -l mongo
- 참고로 당신은 당신의 dbpath 폴더에 있어야 합니다. 나의 것은.
- 이것은 데이터베이스가 루트별로 소유되어 있다는 것을 보여주었는데, 이것은 잘못된 것입니다.이 문제를 해결하기 위해 다음을 실행했습니다.
chown -R mongod:mongod mongo
이로 인해 폴더에 있는 모든 파일의 소유자 및 그룹이 mongod로 변경되었습니다.(mongodb 패키지를 사용하는 경우,chown -R mongodb:mongodb mongodb
)
나는 이것이 미래에 다른 누군가에게 도움이 되길 바랍니다.
나는 이것을 실행함으로써 해결했습니다.C:\mongodb\bin\mongod.exe --repair
먼저. 그리고 나서 MongoDB를 다시 실행했을 때.C:\mongodb\bin\mongod.exe
성공적으로 시작되었습니다.
d:\test\mongodb\data\mongod.lock 파일을 삭제하여 해결했습니다.mongodb를 다시 연결할 때 이 파일은 동일한 폴더에 자동으로 생성됩니다.저한테는 효과가 있어요.
제가 시작하지 못한 이유는 /var/lib/mongo/mongo에 있는 고아 잠금 파일 때문인 것으로 밝혀졌습니다.잠금 내가 그 파일을 삭제하면 mongo가 시작됩니다.제 시스템은 이 이전에 몇 번의 혼란스러운 충돌이 있었습니다.[페도라 14]
mongod.lock 파일 때문일 수도 있지만, 삭제한 후에도 오류가 지속되면 mongo.conf의 경로를 확인합니다. 구성된 logPath 또는 dbPath가 없는 것과 같은 간단한 문제일 수 있습니다(mongo/conf/mongod.conf의 경로를 확인하고 존재 여부를 확인합니다).때때로 mongo는 자체적으로 디렉터리 구조를 만들 수 없으므로 mongod를 시작하기 전에 이러한 디렉터리를 수동으로 만들어야 할 수도 있습니다.
오류 메시지에 모두 표시됩니다. 비정상 종료가 탐지된 것 같습니다.자세한 내용은 http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/ 을 참조하십시오.
제 경험으로는, 보통 달리는 것이 도움이 됩니다.mongod.exe
와 함께--repair
옵션 복구 DB.
권한을 확인했지만 모두 양호했습니다(mongod:mongod).제가 대규모 프로젝트를 진행하고 있을 때, 사용 가능한 모든 디스크 공간을 사용하는 스크립트가 있었던 개발 환경에서 비슷한 문제가 발생하여 mongod가 실행하려면 최소 3.7Gb의 여유 디스크 공간이 필요하다는 오류 메시지를 확인할 수 있었습니다.
제 디스크 공간을 확인해보니 2Gb 미만이 남아 있었습니다.일부 데이터를 이동/지운 후 mongod를 다시 시작할 수 있습니다.
이것이 도움이 되길 바랍니다 ;-)
잠금 파일을 삭제하려고 했지만, 실제로 이렇게 된 이유는 ~/data/db를 데이터 디렉토리로 사용했기 때문입니다.Mongo는 데이터베이스에 대한 절대 경로가 필요합니다.일단 제가 /home//data/db로 바꾸었을 때, 저는 사업을 하고 있었습니다.
C:\mongodb\data\ 경로에서 .lock 파일을 삭제한 다음 mongodb 서비스를 다시 시작합니다.
아직 업데이트/댓글은 안되지만 수동으로 잠금 파일을 제거한 +1 하하.
제 C9 작업 공간이 다운되어 예기치 않은 종료가 발생했습니다.API는 다음과 같이 조언합니다. https://docs.mongodb.com/manual/tutorial/recover-data-following-unexpected-shutdown/
데이터/몽고를 제거합니다.잠금이 작동했습니다 :).
또한 연결 거부가 발생할 경우(나에게 발생한), 잠금 파일을 제거하기 전에 복구 명령을 실행하면 문제가 해결될 수 있습니다(내 문제가 해결되었습니다).
sudo - umongodb mongod --repair --dbpath /var/lib/mongodb/
Windows Terminal.exe라는 메시지가 되었습니다.Unrecognized option: mp
비있니다가 있었습니다.mp:
에의 mongod.cfg
그것을 제거하는 것이 저에게 문제를 해결했습니다.
제 경우에도 MongoDB 서버를 중지하지 않고 로컬 시스템이 종료될 때마다 잠금 문제가 발생했습니다.
하지만 sudo 명령어를 사용해야만 작동했습니다.
sudo mongod --포트 27017
언급URL : https://stackoverflow.com/questions/18524925/mongodb-service-wont-start
'IT' 카테고리의 다른 글
HTTP 모듈에서 세션 상태에 액세스할 수 있습니까? (0) | 2023.07.07 |
---|---|
그룹별 변수 합계 방법 (0) | 2023.07.07 |
빈 문자열이 split() 결과로 반환되는 이유는 무엇입니까? (0) | 2023.07.07 |
(이름 없이) 지정된 번호에서 숫자만 추출하려면 어떻게 해야 합니까? (0) | 2023.07.07 |
JDBC 연결에서 TNS 이름과 서비스 이름을 사용하는 것의 차이점 (0) | 2023.07.07 |