Redis CLUSTER NODES

레디스 클러스터 교육 레디스 정기점검/기술지원
Redis Technical Support
레디스 엔터프라이즈 서버
Redis Enterprise Server

Redis CLUSTER NODES

CLUSTER NODES는 클러스터에 참여하고 있는 노드의 정보를 보는 명령이다.

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

사용법

이 정보는 접속한 서버가 가지고 있는 클러스터에 속한 다른 노드들에 대한 정보이다.   Node-id, IP:Port 같은 항목은 항상 같은 정보를 보여주지만,   다른 정보는 접속한 서버에 따라 또는 시점에 따라 보여지는 데이터가 다를 수 있다는 것을 의미한다.   예를 들어 7000번이 7005번을 FORGET 했다면 7000번에서 CLUSTER NODES를 하면 7005번이 나오지 않지만,   7001번에 접속해서 보면 7005번이 나온다.
아래 예는 마스터 3대, 슬레이브 3대로 구성된 클러스터이다.   원래 보여지는 순서는 IP 순서가 아니지만, 여기서는 IP 순서대로 편집했다.

127.0.0.1:7000> cluster nodes
0d89b35d28b3909b79424f65416dbab1d0209232 127.0.0.1:7000 myself,master - 0 0 1 connected 0-5000
58b3fae50af6cdb2870f47910b9dc2e59675830c 127.0.0.1:7001 master - 0 1465775054848 3 connected 5001-10000
0a36fb2dd920b865ecad79374e2e45ccbc56a712 127.0.0.1:7002 master - 0 1465775054548 2 connected 10001-16383
ef8a2275981149fd7984a20050d5e7be59fe220e 127.0.0.1:7003 slave 0d89b35d28b3909b79424f65416dbab1d0209232 0 1465775055948 1 connected
25d33ds931cfb16072745ddd8f68afdc1dadabbc3 127.0.0.1:7004 slave 58b3fae50af6cdb2870f47910b9dc2e59675830c 0 1465775055349 4 connected
316ed9c34b659a973c1f4a71a14b1ef794562826 127.0.0.1:7005 slave 0a36fb2dd920b865ecad79374e2e45ccbc56a712 0 1465775055448 5 connected
  • ip:port로 소트해서 보기: redis-cli -p 7000 cluster nodes | sort -k 2
  • role: master/slave(replica)로 소트해서 보기: redis-cli -p 7000 cluster nodes | sort -k 3
  • role, ip:port로 소트해서 보기: redis-cli -p 7000 cluster nodes | sort -k 3,3 -k2,2
  • "myself,"를 제거하고 소트해서 보기: redis-cli -p 5001 cluster nodes |sed 's/myself,//'| sort -k 3,3 -k2,2

항목 설명

  1. node-id : 노드를 유일하게 구분할 수 있는 ID이다.   40개 문자로 구성되면 변경되지 않는다.
  2. ip:port : 노드의 주소로 IP와 Port이다.   4.0 부터 @cluster_bus-port 가 추가되었다. 예) 127.0.0.1:7000@17000
  3. flags : master, slave, fail?, fail, handshake, noaddr, noflags가 있고, 명령을 실행한 노드에 myself 라고 표시된다.
  4. master : 슬레이브일 때 마스터 노드 ID가 표시된다.   마스터일 때는 "-"이 표시된다.
  5. ping-sent : myself가 다른 노드에 ping을 보낸 시각(Unix timestamp milliseconds)이다.   Ping-sent 시각은 Pong이 오면 지워진다.   그러므로 이 시각은 아직 Pong 오지 않았을 아주 짧은 시간만 볼 수 있다.   따라서 대부분의 경우 0으로 나온다.
  6. pong-recv : Pong을 받은 마지막 시각(Unix timestamp milliseconds)이다.
  7. config-epoch : The configuration epoch (or version) of the current node (or of the current master if the node is a slave).   Each time there is a failover, a new, unique, monotonically increasing configuration epoch is created.   If multiple nodes claim to serve the same hash slots, the one with higher configuration epoch wins.
  8. link-state : 클러스터 버스로 연결된 상태를 나타낸다.   connected 또는 disconnected 이다.
  9. slot : 마지막 항목은 할당된 슬롯 정보이다.   슬롯이 할당된 마스터 노드에 범위로 표시된다.   슬레이브나 슬롯이 할당되지 않은 마스터는 표시되지 않는다.

SQL 조회   (이 기능은 Enterpirse 버전에서 SQL 사용이 가능합니다)

명령>select * from cluster.nodes;
결과> 0) key|node_id|cluster_bus_port|flags|master_node_id|ping_sent_time|pong_received_time|
    config_epoch|link_state|slots|migrating_or_importing_slots
1) 127.0.0.1:7000|a54a1fab4ce615215f247de22a67f1490aa1ba0b|17000|myself,master|
-|0|1609916838000|1|connected|1-4,6-5460|
2) 127.0.0.1:7001|e46f0afedffd4e9bf5f1acd9a40017ed82472916|17001|master|
-|0|1609916842708|4|connected|0,5,5461-10922|
3) 127.0.0.1:7002|857f3addef8c49040feb9cb0dd56e7b1fc887872|17002|master|
-|0|1609916843000|3|connected|10923-16383|
4) 127.0.0.1:7003|549b0a6bde8d34f6dbbf881d1728225382af40c0|17003|slave|
a54a1fab4ce615215f247de22a67f1490aa1ba0b|0|1609916841649|1|connected||
5) 127.0.0.1:7004|5320a335128235b049a5eb1695a8c80325f8151d|17004|slave|
e46f0afedffd4e9bf5f1acd9a40017ed82472916|0|1609916843764|4|connected||
6) 127.0.0.1:7005|2bdfeddf65efb29495b79e81bf90d81c17ad6af0|17005|slave|
857f3addef8c49040feb9cb0dd56e7b1fc887872|0|1609916840596|5|connected||

명령문

CLUSTER NODES

  • 이 명령은 version 3.0.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(N)이다.   N은 클러스터에 참여하고 있는 노드 개수이다.

Clients for Java Jedis, Lettuce
Clients for C Hiredis

<< CLUSTER INFO CLUSTER NODES CLUSTER REPLICATE >>

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