当前位置: 首页 > article >正文

Redis问题排查常用命令

云原生学习路线导航页(持续更新中)

  • kubernetes学习系列快捷链接
    • Kubernetes架构原则和对象设计(一)
    • Kubernetes架构原则和对象设计(二)
    • Kubernetes架构原则和对象设计(三)
    • Kubernetes控制平面组件:etcd(一)
    • Kubernetes控制平面组件:etcd(二)
    • kubectl 和 kubeconfig 基本原理
    • kubeadm 升级 k8s集群 1.17到1.20
    • Kubernetes常见问题解答
    • 查看云机器的一些常用配置

本文记录中间件Redis的常用运维命令,包括Redis基础命令和Sentinel运维命令

1.Redis命令

  • 查看redis版本

    # 机器中
    redis-server --version
    
    #redis命令行:
    INFO server
    
  • 登陆redis命令行、sentinel命令行

    • redis-cli -p 6379 -a xxxxxx
    • redis-cli -p 26379 -a xxxxxx
    • 不直接输入密码的话,进入命令行后:auth 密码
  • 数据备份
    在这里插入图片描述
    在这里插入图片描述

  • 数据恢复
    在这里插入图片描述
    在这里插入图片描述

2.Sentinel命令

2.1.日志常见关键字

+sdown:主观下线。
+odown:客观下线。
+failover-state:故障转移状态。
+switch-master:主从切换完成。
+sdown: Sentinel 检测到某个 Redis 实例主观下线(Subjectively Down)。
+odown: Sentinel 检测到某个 Redis 实例客观下线(Objectively Down)。
+vote-for-leader: Sentinel 开始投票选举新的 Leader。
+elected-leader: Sentinel 选举出新的 Leader。
+failover-state: Sentinel 进入故障转移状态。
+slave: Sentinel 将某个从节点提升为新的 Master。
+switch-master: Sentinel 完成主从切换,并更新配置。
+reboot 表示 Sentinel 检测到 Master 重新启动或重新连接。(如果只有 +reboot,说明 Sentinel 认为 Master 只是暂时不可用,而不是真正下线。)
PING:Sentinel 定期发送的探活命令。
reply 或 no reply:Sentinel 是否收到 Redis 实例的响应。
quorum:与客观下线(ODOWN)相关的仲裁逻辑。

2.2.检查 Sentinel 配置

# 查看主节点信息。每一条都是一个redis集群的master,下面的master-name即从这里获取
SENTINEL masters

# 查看从节点信息
SENTINEL slaves <master-name>

# 查看 Sentinel 节点列表
SENTINEL sentinels <master-name>

# 获取主节点地址
SENTINEL get-master-addr-by-name <master-name>

# 修改一个redis主从集群的down-after-milliseconds
SENTINEL SET <master_name> down-after-milliseconds <milliseconds>
  • 关键配置参数:
    • down-after-milliseconds <毫秒>:Sentinel 判定实例不可用的超时时间。master下线不超过这个时间,只会认为redis实例抖动,不会切主
    • quorum:触发客观下线(ODOWN)所需的 Sentinel 投票数。

2.3.检查网络问题

2.3.1.测试网络连通性

# 检查 Redis 实例端口是否可达
telnet <redis-ip> <redis-port>

# 测试网络延迟和丢包
ping <redis-ip>
traceroute <redis-ip>

# 检查防火墙规则
iptables -L -n | grep <redis-port>

2.3.2.检查 Redis 实例负载

  • 如果 Redis 实例负载过高,可能导致 Sentinel 的 PING 超时:
    # 连接 Redis 实例查看状态
    redis-cli -h <redis-ip> -p <redis-port> INFO
    
    # 关注输出中的以下字段:
    - instantaneous_ops_per_sec  # 当前操作数
    - used_memory                # 内存使用量
    - connected_clients          # 客户端连接数
    - latency                    # 延迟(需 Redis 4.0+)
    

2.4.分析问题时间线与逻辑

在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/549581.html

相关文章:

  • Docker-数据卷
  • pikachu靶机-越权、目录遍历、敏感信息泄露
  • Dify 是什么?Dify是一个开源的LLM应用开发平台,支持快速搭建生成式AI应用,具有RAG管道、Agent功能、模型集成等特点
  • C#开源大型商城系统之B2B2C+O2O一体化_OctShop
  • 关于conda换镜像源,pip换源
  • CentOS 7.8 安装MongoDB 7教程
  • 【深度解析】图解Deepseek-V3模型架构-混合专家模型(MoE)
  • 浏览器打开Axure RP模型
  • 鸿蒙应用开发-在Worker中实时修改页面数据(在不同线程中修改主线程中的UI界面)
  • redis分页查询
  • Postman桌面版登录问题use authorization token to sign in
  • 2010年下半年软件设计师考试上午真题的知识点整理(附真题及答案解析)
  • 【Kubernetes】k8s 部署指南
  • 在Mac arm架构终端中运行 corepack enable yarn 命令,安装yarn
  • 力扣做题记录 (二叉树)
  • 使用redis实现与flink窗口同样的消息聚合处理效果
  • GitLab CI/CD 的配置详解:从零开始使用 .gitlab-ci.yml 文件
  • BEV:车轮接地点车辆修正3D框位置精度
  • OpenCV机器学习(2)提升算法类cv::ml::Boost
  • 第25周Java主流框架实战-springboot入门 4.配置详解