ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [몽고DB] replica set 구성 시 rs.add() #code: 74
    database 2021. 3. 4. 14:41

    썸네일

     

    제목


    몽고디비 환경 구성중 만난 에러입니다.

     

    Quorum check failed because not enough voting nodes responded; required 2 but only the following 1 voting nodes responded: 192.168.6.130:27017; the following nodes did not respond affirmatively: 192.168.6.199:27017 failed with command replSetHeartbeat requires authentication

     

     

    rs.add() 명령어 수행시 오류 발생


     

    rs0:PRIMARY> rs.add( { host: "mongodbd4.example.net:27017" } )
    {
    	"operationTime" : Timestamp(1614835362, 1),
    	"ok" : 0,
    	"errmsg" : "Quorum check failed because not enough voting nodes responded; required 2 but only the following 1 voting nodes responded: 192.168.6.130:27017; the following nodes did not respond affirmatively: 192.168.6.199:27017 failed with command replSetHeartbeat requires authentication",
    	"code" : 74,
    	"codeName" : "NodeNotFound",
    	"$clusterTime" : {
    		"clusterTime" : Timestamp(1614835362, 1),
    		"signature" : {
    			"hash" : BinData(0,"3WXM5tw5m9w5AsXM96YB0i6mU/E="),
    			"keyId" : NumberLong("6935610981691162628")
    		}
    	}
    }

     

    원인


    다음과 같은 에러가 발생하는 이유는 해당 노드를 추가할 경우 노드의 개수가 짝수가 되기 때문입니다.

     

     

    새로 추가된 보조 장치가 투표와 우선 순위 설정이 0보다 크면 초기 동기화 중에 보조 장치가 읽기 서비스를 제공할 수 없고 데이터가 아직 일치하지 않기 때문에 기본이 될 수 없음에도 불구하고 여전히 투표 구성원으로 계산됩니다.

     

     

     

     

    해결방법


    새로 추가하는 멤버의 우선순위와 투표권을 0으로 설정하여 추가하면 정상적으로 멤버를 추가할 수 있습니다.

    rs.add( { host: "mongodbd4.example.net:27017", priority: 0, votes: 0 } )

     

     

     

     

    References


     


    잘못된 코드나 내용이 있다면 댓글을 남겨주세요. 즉시 수정하도록 하겠습니다! :)

     

     

    댓글