CLUSTER INFO

返回有关节点状态的信息。

语法

CLUSTER INFO

引入版本:3.0.0

复杂度摘要:O(1)

CLUSTER INFO 提供有关 Redis 集群重要参数的 INFO 样式信息。以下字段始终出现在回复中:

cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:2
cluster_stats_messages_sent:1483972
cluster_stats_messages_received:1483968
total_cluster_links_buffer_limit_exceeded:0
  • cluster_state:如果节点能够接收查询,则状态为 ok。如果至少有一个哈希槽未绑定(没有关联的节点)、处于错误状态(为其提供服务的节点标记有 FAIL 标志),或者如果该节点无法到达大多数主节点,则为 fail。
  • cluster_slots_assigned:与某个节点关联的槽数(未绑定)。为了让节点正常工作,这个数字应该是16384,这意味着每个哈希槽都应该映射到一个节点。
  • cluster_slots_ok:映射到不处于FAIL或PFAIL状态的节点的哈希槽数量。
  • cluster_slots_pfail:映射到处于PFAIL状态的节点的哈希槽数量。请注意,只要故障检测算法未将 PFAIL 状态提升为 FAIL,这些哈希槽仍然可以正常工作。 PFAIL 仅意味着我们当前无法与节点通信,但可能只是暂时性错误。
  • cluster_slots_fail:映射到处于FAIL状态的节点的哈希槽的数量。如果该数字不为零,则节点无法提供查询服务,除非在配置中将 cluster-require-full-coverage 设置为 no。
  • cluster_known_nodes:集群中已知节点的总数,包括处于 HANDSHAKE 状态但当前可能不是集群正确成员的节点。
  • cluster_size:集群中至少一个哈希槽服务的主节点数量。
  • cluster_current_epoch:本地Current Epoch变量。这是为了在故障转移期间创建唯一递增的版本号。
  • cluster_my_epoch:我们正在通话的节点的Config Epoch。这是分配给该节点的当前配置版本。
  • cluster_stats_messages_sent:通过集群节点到节点二进制总线发送的消息数。
  • cluster_stats_messages_received:通过集群节点到节点二进制总线接收的消息数。
  • total_cluster_links_buffer_limit_exceeded:由于超出 cluster-link-sendbuf-limit 配置而释放的集群链接的累积计数。

回复中可能包含以下原子槽迁移字段(自 Redis 8.4.0 起可用):

  • cluster_slot_migration_active_tasks:正在进行的 ASM 任务数。目前,它将是 1 或 0。
  • cluster_slot_migration_active_trim_running:正在进行和计划的活动修剪作业数。
  • cluster_slot_migration_active_trim_current_job_keys:当前修剪作业中计划删除的键数。
  • cluster_slot_migration_active_trim_current_job_trimmed:当前修剪作业中已删除的关键点数量。
  • cluster_slot_migration_stats_active_trim_started:自进程开始以来已启动的修剪作业总数。
  • cluster_slot_migration_stats_active_trim_completed:自进程开始以来完成的修剪作业总数。
  • cluster_slot_migration_stats_active_trim_cancelled:自进程开始以来取消的修剪作业总数。

如果该值不为 0,则回复中可能会包含以下与消息相关的字段: 每个消息类型都包含发送和接收消息数量的统计信息。以下是这些字段的解释:

  • cluster_stats_messages_ping_sent 和 cluster_stats_messages_ping_received:集群总线 PING(不要与客户端命令 PING 混淆)。
  • cluster_stats_messages_pong_sent 和 cluster_stats_messages_pong_received:PONG(回复 PING)。
  • cluster_stats_messages_meet_sent 和 cluster_stats_messages_meet_received:通过八卦或 CLUSTER MEET 发送到新节点的握手消息。
  • cluster_stats_messages_fail_sent 和 cluster_stats_messages_fail_received:将节点 xxx 标记为故障。
  • cluster_stats_messages_publish_sent 和 cluster_stats_messages_publish_received:Pub/Sub 发布传播,请参阅 发布订阅。
  • cluster_stats_messages_auth-req_sent 和 cluster_stats_messages_auth-req_received:Replica 发起 Leader 选举以取代 Master。
  • cluster_stats_messages_auth-ack_sent 和 cluster_stats_messages_auth-ack_received:领导者选举期间投票的消息。
  • cluster_stats_messages_update_sent 和 cluster_stats_messages_update_received:另一个节点插槽配置。
  • cluster_stats_messages_mfstart_sent 和 cluster_stats_messages_mfstart_received:暂停客户端以进行手动故障转移。
  • cluster_stats_messages_module_sent 和 cluster_stats_messages_module_received:模块集群 API 消息。
  • cluster_stats_messages_publishshard_sent 和 cluster_stats_messages_publishshard_received:Pub/Sub 发布分片传播,请参阅 分片 Pubsub。

有关 Current Epoch 和 Config Epoch 变量的更多信息可在 Redis集群规范文档 中找到。

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动
仅支持 OSS集群API。

返回值

RESP2

批量字符串回复:命名字段和值之间的映射,采用由两个字节 CRLF 组成的换行符分隔的 <field>:<value> 行的形式。

RESP3

批量字符串回复:命名字段和值之间的映射,格式为 : lines separated by newlines composed by the two bytes CRLF

资料来源:Redis 官方 CLUSTER INFO 文档;中文内容参考 Redis 文档许可。