Redis CLUSTER REPLICATE

<< CLUSTER NODES CLUSTER SLAVES >>

Redis CLUSTER REPLICATE

CLUSTER REPLICATE는 자신을 지정한 node-id의 슬레이브로 만드는 명령이다.

이 문서는 버전 3.2.0을 기준으로 만들었습니다.

사용법

Node-id로 지정하는 노드는 마스터 노드이어야만 한다.   슬레이브 노드를 지정할 수 없다.   자신은 슬롯이 할당되지 않는 마스터이거나 슬레이브이어야 한다.
이 명령은 레디스 클러스터 구성 시, 그러니까 슬롯을 할당하기 전에 사용하는 것이 거의 제한 없이 사용할 수 있다.   물론 레디스 클러스터 운영 중에도 사용할 수 있지만, 슬롯이 할당되면 명령을 사용하는데 제한이 있다.


설명

  • 자신이 슬레이브 노드면 데이터(키)를 가지고 있어도, 마스터 노드를 다른 마스터로 바꿀 수 있다.
  • 127.0.0.1:7005> cluster replicate df85034d1e2296df6177a132e48dd8a567bc38d1
    OK
  • 슬롯이 할당된 마스터 노드는 다른 노드의 슬레이브가 될 수 없다.   먼저 슬롯을 제거해야 한다.
    슬롯이 할당된 마스터 노드에서 replicate 명령을 실행하면 다음과 같은 에러가 나다.
  • 127.0.0.1:7000> cluster replicate 58b3fae50af6cdb2870f47910b9dc2e59675830c
    (error) ERR To set a master the node must be empty and without assigned slots.
  • node-id로 슬레이브 노드를 지정하면 다음과 같은 에러가 난다.
  • 127.0.0.1:7000> cluster replicate 25d33d931cfb16072745ddd8f68afdc1dadabbc3
    (error) ERR I can only replicate a master, not a slave.
  • 클러스터를 설계할 때는 노드의 역할을 정하고, 맨 끝 슬레이브부터 역할을 지정한다.   그래야 슬레이브에 슬레이브를 지정할 수 있다.

명령문

CLUSTER REPLICATE node-id

  • 이 명령은 version 3.0.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(1)이다.

Clients for Java Jedis, Lettuce
Clients for C Hiredis


<< CLUSTER NODES CLUSTER REPLICATE CLUSTER SLAVES >>

질문하거나 댓글을 보려면 클릭하세요.  댓글수 :    조회수 :

Email 답글이 올라오면 이메일로 알려드리겠습니다.