【redis】哨兵模式
主 redis 192.168.2.194 6379
从1 redis 192.168.2.221 6379
从2 redis 192.168.2.222 6379
哨兵1 192.168.2.194 26379
哨兵2 192.168.2.221 26379
哨兵3 192.168.2.222 26379
redis配置文件
注意有密码的情况下
主redis
requirepass redis
masterauth redis 作用是:当作为从角色再切主角色的时候需要密码
从redis
slaveof ip port
masterauth redis
哨兵配置
port 26379
daemonize yes #守护进程
bind 192.168.2.221
protected-mode no
pidfile "/var/run/sentinel.pid"
logfile "/var/log/sentinel.log"
dir "/usr/local/redis/data/sentinel"
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 192.168.2.222 6379 2 #配置主节点信息,mymaster为别名 后面为ip port 2为推举数
sentinel down-after-milliseconds mymaster 10000
sentinel failover-timeout mymaster 15000
启动顺序
主>从>哨兵
遇到的坑
1. Next failover delay: I will not start a failover before
配置完成之后再停掉主机点,哨兵日志中循环提示这个,不切换,原因是因为在redis配置文件中没有配置masterauth,导致salve跟master无法切换
同时还导致一个问题是在主节点查看info replication 看到的connected-slave为0,就是因为没有密码,slave过不了验证,连接不上master
2. 注意关闭各个机器的防火墙
顺序
在主节点挂掉之后,各个客户端的哨兵程序互相通信,另外两个slave会推举出一个新的master节点,在新的master节点中,配置文件被重写,包括redis.conf文件,其中的slaveof配置被去掉,另一个的slave节点的redis配置文件中的slaveof变为replicaof 新的master节点信息,
在原先挂掉的master拉起之后,将会变为一个新的slave节点,配置文件被改写。
同时有主备数据的功能。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?