IT

Mongodb 서비스가 시작되지 않습니다.

itgroup 2023. 7. 7. 18:57
반응형

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로 그룹화되어 있는지 확인해야 했습니다.이 작업은 다음과 같습니다.

  1. 데이터베이스 폴더 내의 파일 권한 확인
    1. 참고로 당신은 당신의 dbpath 폴더에 있어야 합니다. 나의 것은./var/lib/mongo다녀왔습니다cd /var/lib
    2. 도망친ls -l mongo
  2. 이것은 데이터베이스가 루트별로 소유되어 있다는 것을 보여주었는데, 이것은 잘못된 것입니다.이 문제를 해결하기 위해 다음을 실행했습니다.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

반응형