
redis哨兵模式搭建(一主两从三哨兵模式搭建)
1、环境
采用三台主机每台运行一个redis服务 运行一个 redis-sentinel 服务
主机1 192.168.30.94
从机2 192.168.30.92
从机3 192.168.30.144
redis版本位7.0.8
2、搭建redis集群
redis主从模式的搭建参靠以下文档
redis主从模式搭建
需要注意的是在搭建redis集群的时候,默认主节点没有如下配置
1
#主节点地址
2 slaveof 192.168.30.94 6379
3 #master节点的密码,在slave节点数据同步的时候用到。设置集群节点间访问密码
4 masterauth dawenzi
但是在哨兵集群模式下,需要在主节点添加一下一句
1
masterauth dawenzi
用于在主节点宕机恢复后可以自动重新加入集群,如果不添加的话,会认证失败,主节点不
能加入集群
主节点配置文件如下



redis.conf 1.84KB
配置好后依次启动主节点 从节点 服务,查看信息如下

3、搭建哨兵集群
三个哨兵服务的配置文件都是相同的
哨兵配置文件为

主要修改:
1
sentinel monitor mymaster 192.168.30.94 6379 2
2 sentinel auth-pass mymaster dawenzi
sentinel.conf配置文件简单解释
1
# 保护模式修改为否,允许远程连接
2 protected-mode no
3 #指定Sentinel节点占用端口
4 port 26379
5 #是否以守护进程运行
6 daemonize no
7
8 pidfile ./redis-sentinel.pid
9
10 logfile ""
11 #dir 目录路径
12 dir /opt/redis7/tmp
13 # 设定监控地址,为对应的主redis库的内网地址 sentinel monitor 主节点别名 主节点IP 主节点端口 票
数N
14 #1)票数N:将该Redis主节点标记为不可达时,至少需N个Sentinel节点同意;
15 #2)N建议设置为:Sentinel集合中含有Sentinel节点数的一半加一;
16 sentinel monitor mymaster 192.168.30.94 6379 2
17 # 主数据库密码,需要将配置放在sentinel monitor master 192.168.30.94 6379 1下面
18 sentinel auth-pass mymaster dawenzi
19 # 指定该Sentinel节点发送ping命令周期,单位毫秒,设定N秒内没有响应,说明服务器挂了,需要将配置放在
sentinel monitor master 127.0.0.1 6379 1下面
20 sentinel down-after-milliseconds mymaster 10000
21
22 acllog-max-len 128
23
24 #指定故障转移后可复制的从节点个数
25 # 表示如果master重新选出来后,其它slave节点能同时并行从新master同步缓存的台数有多少个,显然该值
越大,
26 # 所有slave节点完成同步切换的整体速度越快,但如果此时正好有人在访问这些slave,可能造成读取失败,
影响面会更广。
27 # 最保定的设置为1,只同一时间,只能有一台干这件事,这样其它slave还能继续服务,
28 # 但是所有slave全部完成缓存更新同步的进程将变慢。
29 sentinel parallel-syncs mymaster 1
30 # 指定故障转移的超时时间 单位毫秒,设定N秒内master没有活起来,就重新选举主
31 sentinel failover-timeout mymaster 180000
32
33 sentinel deny-scripts-reconfig yes
34
35 SENTINEL resolve-hostnames no
36
37 SENTINEL announce-hostnames no
38
39 SENTINEL master-reboot-down-after-period mymaster 0
配置好后直接启动
1
./bin/redis-sentinel sentinel.conf
启动完成后如图:

运行redis客户端可以通过命令:info sentinel 查看哨兵信息
1
./bin/redis-cli -p 26379
2 info sentinel

4、测试
你可以通过停掉redis主节点来模拟主节点宕机
redis服务会自动选举主节点实现高可用模式