새소식

반응형
MongoDB/ERROR LOG

MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017

  • -
반응형

MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017

MongoDB 에러와의 사투, 그리고 재시작 성공기

MongoDB 서버 오류와 이를 해결한 과정을 공유하려고 합니다. 어떤 문제가 발생했는지, 그리고 어떻게 해결했는지 하나씩 살펴보겠습니다.


문제 발생: MongoDB가 갑자기 멈추다

어느 날 갑자기 MongoDB 서버가 멈췄다는 사실을 알게 되었습니다. 당황한 마음에 우선 시스템 상태를 확인하기 위해 터미널에서 다음 명령어를 입력했습니다:

systemctl status mongod

그 결과, 다음과 같은 로그가 출력되었습니다:

✖ mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sat 2025-03-01 13:46:16 KST; 4 days ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 1313 (code=exited, status=1/FAILURE)
        CPU: 13min 46.266s

Active: failed라는 메시지가 보이는 것으로 보아 서비스가 완전히 멈춰버린 상태였습니다. exit-code를 보면 어떤 오류로 인해 프로세스가 종료된 것으로 보이지만, 정확한 원인은 바로 파악하기 어려웠어요. 게다가 로그에 "journal has been rotated"라는 메시지가 표시되어 있어 과거 로그가 일부 사라진 상태였습니다.

하지만 중요한 것은 MongoDB가 멈춰있다는 사실이었으므로, 일단 서비스를 재시작해 보기로 했습니다.


반응형

해결 과정: systemctl로 재시작 시도

MongoDB 서비스를 다시 실행하기 위해 다음 명령어를 입력했습니다:

systemctl restart mongod

그런데 시스템이 인증을 요구했습니다:

==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'mongod.service'.
Authenticating as: user,,, (user)
Password:

관리자 권한이 필요하다는 메시지였어요. 비밀번호를 입력해 인증을 완료하니, 재시작 명령이 실행되었습니다.

Authentication is required to restart 'mongod.service'.

이후 다시 상태를 확인해 보았습니다:

systemctl status mongod

결과는 다음과 같았습니다:

● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-03-05 15:55:37 KST; 4s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 2491485 (mongod)
     Memory: 185.9M
        CPU: 387ms
     CGroup: /system.slice/mongod.service
             └─2491485 /usr/bin/mongod --config /etc/mongod.conf

 3월 05 15:55:37 user systemd[1]: Started MongoDB Database Server.

✨ Active: active (running) ✨

드디어 MongoDB가 정상적으로 작동하기 시작했습니다! 재시작 후 4초가 지난 시점에 상태를 확인했는데, 메모리와 CPU 사용량도 정상 범위 안에 들어와 있었습니다. 문제 해결 성공!


무엇을 배웠나?

이번 경험을 통해 몇 가지 중요한 교훈을 얻었습니다:

  1. 시스템 로그의 중요성
    systemctl status 명령어를 활용한 로그 확인이 문제 해결의 첫 단계였습니다. 비록 이번에는 정확한 오류 원인을 파악하진 못했지만, 로그 분석이 문제 해결의 핵심이라는 점을 깨달았습니다.
  2. systemctl 명령어 활용
    restart와 status 명령어를 이용해 서비스를 관리하는 방법을 익혔습니다. 이는 MongoDB뿐만 아니라 다른 서비스 관리에도 유용하게 사용할 수 있을 것 같아요.
  3. 침착함의 필요성
    서버가 갑자기 멈췄을 때 처음에는 당황했지만, 차근차근 단계를 밟아가며 해결하니 결국 정상적으로 복구할 수 있었습니다. 패닉에 빠지지 않고 논리적으로 접근하는 것이 중요하다는 걸 깨달았어요.

마무리

현재 MongoDB 서버는 정상적으로 동작하고 있으며, 데이터베이스도 무사히 돌아가고 있습니다. 이번 경험은 단순한 오류 해결 이상의 의미가 있었습니다. 시스템 관리의 기본을 익히고, 문제를 해결하는 논리적인 접근 방식을 배울 수 있었어요.

혹시 여러분도 비슷한 상황을 겪게 된다면, 당황하지 말고 로그를 확인하고 차근차근 해결해 보세요. 의외로 간단한 명령어 하나로 문제가 해결될 수도 있답니다! 😊

 

 

추천 글

MongoDB 성능 개선을 위한 점검 (DB 프로파일링 / db.setProfilingLevel)

 

MongoDB 성능 개선을 위한 점검 (DB 프로파일링 / db.setProfilingLevel)

⚠️ 성능에 영향을 주는 쿼리를 확인하기 위한 용도일뿐, 이 자체로 성능을 개선하는 것과는 무관합니다.(오히려 프로파일링 활성화 모드일때 성능을 더 잡아먹음. 프로파일링 완료 후 반드시

intelloper.tistory.com

MongoDB 성능 개선! 빠른 속도 튜닝!을 위한 DB 인덱싱 적용 db.collection.createIndex

 

MongoDB 성능 개선! 빠른 속도 튜닝!을 위한 DB 인덱싱 적용 db.collection.createIndex

인덱싱은 데이터베이스 성능 최적화의 핵심이며, 제대로 사용하면 쿼리 속도를 크게 향상시킬 수 있습니다. MongoDB 인덱싱이란?인덱싱은 데이터베이스 테이블의 검색 속도를 향상시키기 위해

intelloper.tistory.com

Ubuntu MongoDB 원격 접속 총정리(MongoDB Remote Connect)

 

Ubuntu MongoDB 원격 접속 총정리(MongoDB Remote Connect)

MongoDB가 설치되어 있다는 가정하에 진행하겠습니다.😁 우선 터미널에서 아래의 커맨드를 입력합니다. sudo vi /etc/mongod.conf net, processMangement, security 중점으로 아래처럼 바꿔주시면 됩니다. # mongod.

intelloper.tistory.com

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.