MongoDB 복제 세트 설정을 재설정하는 방법


16

복제본 구성을 다시 시작하고 싶습니다. 가능합니까? 재설정하는 방법?

에서 그룹 사람들은 데이터베이스 내용을 제거하는 말을하지만, 모든 작업의 약이 있습니까?

답변:


19

데이터를 유지하면서 복제 세트 외부에서 시작하려면 --replSet및 다른 포트 없이 mongod 프로세스를 다시 시작하십시오 . 그것은 당신에게 독립형 mongod를 줄 것입니다.

복제 세트 구성이 인스턴스에서 없어 졌는지 확인하려면 local.system.replset컬렉션이 비어 있는지 확인하십시오 .

이 작업이 완료되고 독립형 인스턴스에 만족하면 다른 --replSet인수 로 다시 시작 하고 복제 세트 구성 프로세스를 다시 수행 할 수 있습니다.

http://www.mongodb.org/display/DOCS/Replica+Set+Configuration

언급했듯이 다른 옵션은 모든 데이터 파일을 제거하고 처음부터 완전히 시작하는 것입니다.


// 할당 된 포트가 아닌 동일한 Db 폴더로 서버를 시작합니다. mongoi 클라이언트를 통해 새 포트에 연결하십시오. local db.system.replset.remove ({ "_ id": "replset"}) // replset을 따옴표로 바꾸시겠습니까? db.system.replset.find () db.adminCommand ({shutdown : 1}) // 그런 다음 다른 포트에서 다시 시작
tgkprog

5

복제 세트 구성을 재설정하기 위해 데이터베이스 파일을 제거 할 필요는 없습니다.

구성을 재설정하려면 복제 세트의 모든 노드가 중지되었는지 확인하십시오. 그런 다음 모든 노드에 대해 "로컬"데이터베이스를 삭제하십시오.

모든 노드가 실행 중이 지 않고 "로컬"데이터베이스가 사라 졌다고 확신하면 mongod 프로세스를 다시 시작하십시오 (물론 --replSet 플래그 사용). 그런 다음 rs.initiate ()를 실행하십시오.



1
  1. 편집 /etc/mongod.conf및 주석 처리replication: block
  2. service mongod restart
  3. mongo local --eval "db.dropDatabase()"
  4. service mongod stop
  5. 몽고 기본에 : rs.add("this node")
  6. 편집 /etc/mongod.conf및 주석 해제replication: block
  7. service mongod restart

노드가 기존 복제 세트에 추가되고 기존 기본 노드와 동기화되기 시작합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.