linux查看redis集群状态命令
时间: 2025-04-05 20:17:04 浏览: 34
### 查看 Redis 集群状态的 Linux 命令
在管理 Redis 集群时,可以通过 `redis-cli` 工具来执行一系列命令以检查集群的状态。以下是常用的命令及其说明:
#### 使用 `CLUSTER INFO` 获取集群基本信息
此命令返回关于 Redis 集群的整体信息,包括集群状态、槽位分布情况以及节点数量等。
```bash
redis-cli -c -h <host> -p <port> CLUSTER INFO
```
例如,在实际环境中运行该命令可能类似于以下形式:
```bash
redis-cli -c -h 10.0.0.31 -p 6379 CLUSTER INFO
```
这会显示诸如 `cluster_state:ok` 或者 `cluster_slots_assigned:16384` 的字段[^1]。
#### 列出所有节点的信息
通过 `CLUSTER NODES` 可以获取整个集群中各个节点的具体详情,包括主从关系、IP 地址、端口号以及其他元数据。
```bash
redis-cli -c -h <host> -p <port> CLUSTER NODES
```
对于部署有多个节点的情况(如引用中的描述),可以针对任意一个可用节点发起请求并获得全局视图[^2]:
```bash
redis-cli -c -h 10.0.0.31 -p 6379 CLUSTER NODES | grep master
```
#### 检查特定键所属的槽号及负责节点
利用 `CLUSTER KEYSLOT` 和 `GETKEYSINSLOT` 能够定位某个具体 key 存储在哪一 slot 中,并进一步确认哪个 node 正在承载它。
```bash
redis-cli CLUSTER KEYSLOT mykeyname
redis-cli -c -h <node_ip> -p <node_port> CLUSTER GETKEYSINSLOT <slot_number> 10
```
#### 执行健康状况检测脚本
除了上述内置指令外,还有专门设计用来评估整体架构稳定性的外部工具——`redis-trib.rb`(旧版)或者更新后的 Python 实现版本。它们能够自动化完成更多复杂的诊断任务比如平衡 slots 分布等等[^3].
注意:以上操作均需确保客户端已正确连接至目标网络环境下的 Redis server instance 上;另外考虑到安全性因素,请务必遵循企业内部 IT 安全策略设置访问权限控制机制[^4]^.
---
### 提供一段简单的 Shell Script 示例代码用于批量查询各主机上的 Redis Cluster Status:
```shell
#!/bin/bash
HOSTS=("10.0.0.31" "10.0.0.32" "10.0.0.33")
for host in "${HOSTS[@]}"
do
echo "Checking $host..."
redis-cli -h "$host" -p 6379 CLUSTER INFO >> cluster_status.log
done
```
此脚本将会把每台服务器的结果追加写入名为 `cluster_status.log` 文件里以便后续分析处理[^5].
---
阅读全文
相关推荐


















