mongodb에서 replication member를 재설정해야 할 때가 있다.


master가 (not reachable/healthy) 되어 있거나, slave가 다른 장비로 교체되야 할 때, 재구성해야 할 필요성이 있다..


이럴 때를 위한 mongodb 어드민 툴을 제공한다


slave만 삭제하거나 추가할 때는 아래와 쉽게 할 수 있다. 


rs.remove("1.1.1.1:27017")

rs.add("1.1.1.2:27017")



그러나 클러스터가 완전히 깨져 있고, master가 없는 상황이라면 다시 재구성해야 한다. 


cfg = rs.conf()


master, slave 구성과 상관없이 cfg에 rs.conf() 결과를 저장하고, 살아있는 일부 서버만으로 구축할 수 있다. 이 중 한 대만 구축하려고 진행한다.



cfg.members = [cfg.members[0]]



그리고 마지막으로 re.reconfig를 실행하고 강제(force:true) 설정한다. 


rs.reconfig(cfg, {force : true})

{ "ok" : 1 }





참고


https://docs.mongodb.com/manual/tutorial/reconfigure-replica-set-with-unavailable-members/

Posted by '김용환'
,