redis哨兵模式搭建(一主两从三哨兵模式搭建)

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

用于在主节点宕机恢复后可以自动重新加入集群,如果不添加的话,会认证失败,主节点不

能加入集群

主节点配置文件如下

笔记插图(第 1 页)

笔记插图(第 1 页)

笔记插图(第 1 页)

redis.conf 1.84KB

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

笔记插图(第 2 页)

3、搭建哨兵集群

三个哨兵服务的配置文件都是相同的

哨兵配置文件为

笔记插图(第 2 页)

主要修改:

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

启动完成后如图:

笔记插图(第 4 页)

运行redis客户端可以通过命令:info sentinel 查看哨兵信息

1
  ./bin/redis-cli -p 26379
2  info sentinel

笔记插图(第 4 页)

4、测试

你可以通过停掉redis主节点来模拟主节点宕机

redis服务会自动选举主节点实现高可用模式