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/
'mongodb' 카테고리의 다른 글
[mongodb] grafana 모니터링 (0) | 2017.01.02 |
---|---|
[mongodb] 3.2.0에서 3.4.1 업그레이드 (migration 3.2.0 to 3.4.1) (0) | 2017.01.02 |
[mongodb] shell 클라이언트 (0) | 2016.12.30 |
[mongodb] 버전 업그레이드 3.2.0 -> 3.2.10 (0) | 2016.10.24 |
mongodb 3.2의 slave의 recovering 상태를 정상으로 복구시키기 (0) | 2016.10.21 |