mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Mon 2024-08-26 13:39:12 KST; 3min 34s ago Docs: https://docs.mongodb.org/manual Process: 819091 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=1/FAILURE) Main PID: 819091 (code=exited, status=1/FAILURE) CPU: 61ms 8월 26 13:39:12 mongod[819091]: Frame: systemd[1]: mongod.service: Main process exited, code=exited, status=1/FAILURE 8월 26 13:39:12 systemd[1]: mongod.service: Failed with result 'exit-code'.
우선 위와 같은 오류가 났을때 현재 디스크 용량이 남아있는지 확인해봅시다.
디스크가 꽉차있다면 mongodb 실행이 안될 수 있기 때문입니다.
free -m
df -h
저같은 경우는 위 사진과 같이 disk 용량이 꽉차서 생긴 문제였습니다.
그 이외에 문제 해결 방법들입니다.
해결 단계
1. 로그 확인하기
가장 먼저 할 일은 MongoDB의 로그를 확인하는 것입니다. 로그 파일은 보통 /var/log/mongodb/mongod.log에 위치해 있습니다.
sudo tail -n 100 /var/log/mongodb/mongod.log
이 명령어로 로그의 마지막 100줄을 확인할 수 있습니다. 여기서 구체적인 오류 메시지를 찾아보세요.
2. 설정 파일 점검
다음으로, MongoDB의 설정 파일을 확인해봅시다.
sudo cat /etc/mongod.conf
설정 파일에 오류가 없는지, 특히 최근에 변경한 내용이 있다면 그 부분을 주의 깊게 살펴보세요.
3. 권한 확인
데이터 디렉토리와 로그 파일의 권한이 올바른지 확인합니다.
ls -l /var/lib/mongodb
ls -l /var/log/mongodb
소유자가 'mongodb' 사용자인지 확인하세요. 권한 문제로 서비스가 시작되지 않을 수 있습니다.
4. 시스템 리소스 체크
시스템 리소스가 부족하면 MongoDB가 시작되지 않을 수 있습니다.
메모리와 디스크 공간이 충분한지 확인하세요.
5. 수동으로 MongoDB 시작
직접 MongoDB를 실행해보면 더 자세한 오류 메시지를 볼 수 있습니다.
sudo mongod --config /etc/mongod.conf
이 명령어로 나오는 출력을 주의 깊게 살펴보세요.
마무리
위의 단계들을 차례로 진행하면서 문제의 원인을 찾아낼 수 있을 것입니다. 만약 이 모든 과정을 거쳐도 문제가 해결되지 않는다면, MongoDB를 재설치하거나 시스템을 재부팅하는 것도 고려해볼 수 있습니다.
sudo apt remove mongodb-org
sudo apt purge mongodb-org
sudo apt install mongodb-org