【README】
本文po出 redis集群的节点信息,槽信息,以及字段含义
【1】集群信息
192.168.163.203:6380> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:9
cluster_size:3
cluster_current_epoch:11
cluster_my_epoch:2
cluster_stats_messages_sent:26337
cluster_stats_messages_received:26156
192.168.163.203:6380>
192.168.163.203:6380> cluster nodes
00fee91991f8bb6a787bb8552b5a207a4d1437f8 192.168.163.203:6380 myself,slave ec6f04c5cb3e3392b7787445440b7494ddff8923 0 0 6 connected
ec6f04c5cb3e3392b7787445440b7494ddff8923 192.168.163.202:6379 master - 0 1612785963272 2 connected 5461-10922
fb2d63eef5286da9613ff252ea3e02bc5bf1714a 192.168.163.201:6381 slave ec6f04c5cb3e3392b7787445440b7494ddff8923 0 1612785966928 7 connected
e2d2d0554c6051bb27b51aa5093ae66a85c4a16c 192.168.163.201:6380 slave ec6f04c5cb3e3392b7787445440b7494ddff8923 0 1612785965915 4 connected
e3f10671246e54c0ae60b7bf9f73efc9c60a2669 192.168.163.203:6379 slave 5a3d443feba5c67451b31ded6480bb5a70804b88 0 1612785967949 11 connected
109f3bf0dba09b18a2e80e656f83c215f74f898a 192.168.163.203:6381 slave 5a3d443feba5c67451b31ded6480bb5a70804b88 0 1612785961853 11 connected
5a3d443feba5c67451b31ded6480bb5a70804b88 192.168.163.202:6381 master - 0 1612785960835 11 connected 10923-16383
2f71a7878b1ea9a773bc0c2b938a97b72fe99883 192.168.163.202:6380 slave 3faa9492e958d4f7d4e882d0c478d5445e3eafa8 0 1612785966321 5 connected
3faa9492e958d4f7d4e882d0c478d5445e3eafa8 192.168.163.201:6379 master - 0 1612785964897 1 connected 0-5460
【2】cluster nodes 节点信息分析
00fee91991f8bb6a787bb8552b5a207a4d1437f8 192.168.163.203:6380 myself,slave ec6f04c5cb3e3392b7787445440b7494ddff8923 0 0 6 connected
<id> <ip:port> <flags> <master> <ping-sent> <pong-recv> <config-epoch> <link-state> <slot> <slot> ... <slot>
字段 | 字段值 | 描述 |
id | 00fee91991f8bb6a787bb8552b5a207a4d1437f8 | 节点ID,是一个40字节的随机字符串,这个值在节点启动的时候创建,并且永远不会改变(除非使用CLUSTER RESET HARD命令) |
ip:port | 192.168.163.203:6380 | 集群节点的ip和端口 |
flags | myself,slave | 逗号分割的标记位,可能的值有: myself, master, slave, fail?, fail, handshake, noaddr, noflags. |
master | ec6f04c5cb3e3392b7787445440b7494ddff8923 | 若节点是slave,列出master节点ID, 否则列出 - (如第2行的 master - ) |
ping-sent | 0 | 最近一次发送ping的时间,这个时间是一个unix毫秒时间戳,0代表没有发送过. |
pong-recv | 0 | 最近一次收到pong的时间,使用unix时间戳表示. |
config-epoch | 6 | 节点的epoch值(or of the current master if the node is a slave)。每当节点发生失败切换时,都会创建一个新的,独特的,递增的epoch。如果多个节点竞争同一个哈希槽时,epoch值更高的节点会抢夺到。 |
link-state | connected | node-to-node集群总线使用的链接的状态,我们使用这个链接与集群中其他节点进行通信.值可以是 connected 和 disconnected. |
slot | 哈希槽值或者一个哈希槽范围. 从第9个参数开始,后面最多可能有16384个 数。 (说直白点,用来给事件增加版本号) |
补充1) epoch 或 current_epoch 或 config_epoch , https://blog.csdn.net/chen_kkw/article/details/82724330
补充2) redis集群的3种策略,参见 https://www.jianshu.com/p/84107e4f6585?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation