以经典的3节点来部署下哨兵集群
哨兵的配置文件是sentinel.conf 在redis的目录下
最小配置
每个哨兵都可以去监控多个master-slaves的主从架构,因为可能公司里,为不同的项目配置了多个master-slaves的redis主从集群,自己可以给每个redis主从集群分配一个逻辑的名称,例如这里
分配的逻辑名称就是mymaster 和 resque 也就是说这里有两套redis的主从集群
在三个节点分别执行一下操作
mkdir /etc/sentinel
mkdir -p /var/sentinel/5000
在redis-1节点上的哨兵配置文件
/etc/sentinel/5000.conf
port 5000 # 哨兵默认用26379端口,默认不能跟其他机器在指定端口联通,只能在本地访问
bind 192.168.124.30
sentinel monitor mymaster1 192.168.124.30 6379 2 # 设置sentinel监控的master的节点和端口号,后面的2是quorum数,就是哨兵从主观宕机到客观宕机的判断数
sentinel down-after-milliseconds mymaster1 60000 # 设置sentinel在发现master有多久连接不上,就判断为宕机了,这是指判断为主观宕机的时长
sentinel failover-timeout mymaster1 180000 #这是指哨兵集群在执行master节点切换过程中,执行切换的哨兵出现故障了,其他的哨兵多久判断,让其他的哨兵再接着执行切换的任务
sentinel parallel-syncs mymaster1 1 #这是指哨兵切换完毕后,其他的slaves节点要一批一批的连接到新的master节点上,那么一批的个数是几个
在redis-2节点上的哨兵配置文件
/etc/sentinel/5000.conf
port 5000
bind 192.168.124.31
sentinel monitor mymaster2 192.168.124.31 6379
4
sentinel down-after-milliseconds mymaster2
10000
sentinel failover-timeout mymaster2
180000
sentinel parallel-syncs mymaster2
5
在redis-3节点上的哨兵配置文件
/etc/sentinel/5000.conf
port 5000
bind 192.168.124.32
sentinel monitor mymaster3
192.168.124.32 6379 4
sentinel down-after-milliseconds
mymaster3
10000
sentinel failover-timeout
mymaster3
180000
sentinel parallel-syncs mymaster3
5
再在三台节点上分别启动哨兵进程
执行redis-sentinel /etc/sentinel/5000.conf
查看哨兵状态
redis-cli -h 192.168.124.30 -p 5000
登陆后可看的命令:
sentinel master mymaster1
sentinel slaves mymaster1
sentinel sentinels mymaster1
sentinel get-master-addr-by-name mymast