作为一名资深curd程序员,日常只专注于业务逻辑,一开始接触redis哨兵的时候内心是惶恐的,总感觉很深奥,很难学,慢慢的接触多了,对于redis哨兵也有了一个简单的了解。所以日常工作中,对于用到的技术,还是要重点深入的了解下原理,不能止步于用,要会用,才能在遇到问题的时候不至于两眼抓瞎。
本文采用一台虚拟机搭建redis哨兵模式,可以进行主从切换等测试,多台机器搭建同理。
安装redis略,不懂可以度娘。
下边主要从主从配置和哨兵配置角度来看哨兵模式配置。
主从配置:这里主要根据redis.conf配置进行修改即可,其他参数默认。
配置目录如图所示
master
protected-mode no
port 6379
daemonize yes
pidfile "/var/run/redis_6379.pid"
logfile "/data/logs/redis/6379.log"
masterauth "password"
requirepass "password"
slave
protected-mode no
port 6380
daemonize yes
pidfile "/var/run/redis_6380.pid"
logfile "/data/logs/redis/6380.log"
masterauth "password"
requirepass "password"
replicaof 192.168.43.141 6379
下边是哨兵sentinel配置
sentinel_26379
port 26379
daemonize yes
pidfile "/var/run/redis-sentinel_26379.pid"
logfile "/data/logs/redis/26379.log"
sentinel monitor mymaster 192.168.43.141 6379 2
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 10000
sentinel auth-pass mymaster password
sentinel_26380 和sentinel_26381 port pidfile logfile需修改,其他 不变。
分别启动
./redis-server ../redis_6379.conf
./redis-server ../redis_6380.conf
./redis-sentinel ../sentinel_26379.conf
./redis-sentinel ../sentinel_26380.conf
./redis-sentinel ../sentinel_26381.conf
查看进程
我们查看主从配置如图
进行主从切换
选择master进程并 kill,等待一会再把6379启动。我们再来看主从配置
我们看到6380已经变成了master
我们再来看看sentinel配置
至此,redis哨兵搭建和模拟都搞完了。
down-after-milliseconds 哨兵认为master挂了,并进行主观下线的时间配置,这里是3s
failover-timeout 选举超时配置。