As i wish

Mongo DB 의 Replica status가 Recovering 이 되었을 때 본문

Mongo DB

Mongo DB 의 Replica status가 Recovering 이 되었을 때

어면태 2019. 7. 22. 10:25

몽고 디비에서 레플리카셋을 구축 하고 나서 Primary나 Secondary의 상태가 Recovering 이 되었을 때에 복구 방법에 대하여 보겠습니다.

현재 상태는 stateStr 이  'PRIMARY' 또는 'SECONDARY' 가 되야 정상적으로 동작하는데에 가끔 'RECOVERING' 이 될 때가 있습니다.

 

뭐 말 그대로 Recovering 상태에서 알아서 Recovering 됬으면 좋겠지만 사실 실상은 그렇지 않죠.

그렇게 되면 Recovering 된 상태에 서버로 접속합니다.

 

 $ mongod --shutdown --dbpath (db path)
killing process with pid: 26867
$ps -ef | grep mongo

그 다음 원래 디비 경로에 있는 디비를 백업해 줍니다.

$ mv (db path) backup dir
$ mkdir (db path)

그 다음 다시 디비를 시작주면 됩니다.

$ mongod --keyFile (keyFile path) --dbpath (db path)

그럼 다시 정상 동작 하는걸 확인 할 수 있습니다.

 

요즘 자꾸 이러한 문제가 발생하는데 원인을 잘 모르겠네요...

 

도움 주실 분은 댓글로 도와주시면 감사하겠습니다!!!

 

 

참고자료

 

mongodb 3.2의 slave의 recovering 상태를 정상으로 복구시키기

mongodb 3.2 wiredTiger 버전을 사용 중이고, 대용량 트래픽을 조금씩 받고 있는 mongodb가 있다. 하지만, mongodb의 replicaset 구축하고 나서, mariadb(mysql) 만큼 안정성이 높지 않은 것에 대해 최근 경악한..

knight76.tistory.com

 

Comments