1.核⼼流程
每秒ping,超过时间不响应 则认为主观下线 满⾜多个,则认为是客观下线 投票选择主节点 如果没有⾜够的节点同意master下线,则状态会被移除。
2.配置3个哨兵,每个哨兵的配置都是⼀样的,启动顺序 先启动主再启动从,最后启动3个哨兵,哨兵端⼝是 【26379】记得开放
#不限制ip
bind 0.0.0.0
# 让sentinel服务后台运⾏
daemonize yes
# 配置监听的主服务器,mymaster代表服务器的名称,⾃定义,127.0.0.1 代表监控的主服务器,6379代
表端⼝,2代表只有两个或两个以上的哨兵认为主服务器不可⽤的时候,才会进⾏failover操作。
sentinel monitor mymaster 127.0.0.1 6379 2
# sentinel auth-pass定义服务的密码,mymaster是服务名称,123456是Redis服务器密码
sentinel auth-pass mymaster 123456
#超过5秒master还没有连接上,则认为master已经停⽌
sentinel down-after-milliseconds mymaster 5000
#如果该时间内没完成failover操作,则认为本次failover失败
sentinel failover-timeout mymaster 30000
例如:
port 26379
bind 0.0.0.0
daemonize yes
pidfile "/var/run/redis-sentinel-1.pid"
logfile "/var/log/redis/sentinel_26379.log"
dir "/tmp"
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel auth-pass mymaster 123456
sentinel failover-timeout mymaster 30000
3.启动集群
./redis-server /usr/local/redis/conf/sentinel-1.conf --sentinel
4.spring boot /cloud整合redis主从+哨兵
配置文件加:
sentinel:
master: mymaster #主节点名称,根据配置文件里的名称
nodes: 192.168.10.201:26379,192.168.10.201:26380,192.168.10.201:26381 #节点地址+端口
例如: