“cluster nodes”命令

redis cluster集群部署后,可以通过redis-cli的 cluster nodes 命令查看集群的节点信息。

此图像的alt属性为空;文件名为image-16-1024x156.png

输出的每行,都代表一个节点,下面我们讲解下这些信息的含义,为了更直观些,我们将这些信息放入表格里:

idip:portflagsmasterping-sentpong-recvconfig-epochconfig-epochslot
46dc4de072aad1e44548cfde5b56239001eaff5a 127.0.0.1:6380@16380 master 0 1623402917302 2 connected 5461-10922
18cc5a352ba7a567bdbad5d777b3712a7b81b0f8 127.0.0.1:6384@16384 slave 99b3c660b15114ef55247e5b07cbf8f34621bee3 0 1623402916327 3 connected  
99b3c660b15114ef55247e5b07cbf8f34621bee3 127.0.0.1:6381@16381 master 0 1623402915000 3 connected 10923-16383
3e2cb9b12cf802fec29424dad133e42bc9a5f24c 127.0.0.1:6382@16382 slave 08e3c37dbf40c32af18d2c6c75fce04e1fe41920 0 1623402915318 1 connected  
08e3c37dbf40c32af18d2c6c75fce04e1fe41920 127.0.0.1:6379@16379 myself,master 0 1623402914000 1 connected 0-5460
954e52a5ec121a68214ca0cede98b727c572727b 127.0.0.1:6383@16383 slave 46dc4de072aad1e44548cfde5b56239001eaff5a 0 1623402916000 2 connected  

每项含义如下:

id 节点ID,是一个40字节的随机字符串,这个值在节点启动的时候创建,并且永远不会改变(除非使用CLUSTER RESET HARD命令)

ip:port 客户端与节点通信使用的地址

flags 逗号分割的标记位,可能的值有: myself, master, slave, fail?, fail, handshake, noaddr, noflags. 之后将详细介绍这些标记

master 如果节点是slave,并且已知master节点,则这里列出master节点ID,否则的话这里列出"-"

ping-sent 最近一次发送ping的时间,这个时间是一个unix毫秒时间戳,0代表没有发送过

pong-recv 最近一次收到pong的时间,使用unix时间戳表示

config-epoch 节点的epoch值(如果该节点是从节点,则为其主节点的epoch值)。每当节点发生失败切换时,都会创建一个新的,独特的,递增的epoch。如果多个节点竞争同一个哈希槽时,epoch值更高的节点会抢夺到

link-state node-to-node集群总线使用的链接的状态,我们使用这个链接与集群中其他节点进行通信.值可以是 connected 和 disconnected

slot 哈希槽值或者一个哈希槽范围. 从第9个参数开始,后面最多可能有16384个 数(limit never reached)。代表当前节点可以提供服务的所有哈希槽值。如果只是一个值,那就是只有一个槽会被使用。如果是一个范围,这个值表示为起始槽-结束槽,节点将处理包括起始槽和结束槽在内的所有哈希槽

各flags的含义

myself: 当前连接的节点
master: 节点是master
slave: 节点是slave
fail?: 节点处于PFAIL 状态。 当前节点无法联系,但逻辑上是可达的 (非 FAIL 状态)
fail: 节点处于FAIL 状态. 大部分节点都无法与其取得联系将会将改节点由 PFAIL 状态升级至FAIL状态
handshake: 还未取得信任的节点,当前正在与其进行握手
noaddr: 没有地址的节点(No address known for this node
noflags: 连个标记都没有(No flags at all)

posted @ 2024-01-19 14:51  猪油哥  阅读(229)  评论(0编辑  收藏  举报