天天看点

Redis哨兵模式 以及SpringBoot集成Redis哨兵Redis哨兵模式

Redis哨兵模式

Redis主从模式会出现master挂了就不能用了的状态

什么是哨兵

Sentinel(哨兵)是用于监控Redis集群中Master状态的工具,是Redis高可用解决方案之一.哨兵可以监控一个或多个master服务.

当某个master服务挂了之后,会把slave升级为master.

配置哨兵

配置sentinel.conf步骤

  1. 在解压包里找到sentinel.conf
  2. 复制这个配置文件到指定的目录下(我的是:/usr/local/redis)
  3. 修改配置文件

修改配置文件sentinel.conf

# 端口
port 26379

# pid路径(自己指定,别忘了创建目录,要不会报错)
pidfile /var/run/redis-sentinel.pid

# 工作路径(自己指定)
dir /tmp

# 是否后台运行
daemonize yes


# 是否远程访问, 自己设置ip (这里我就全开放了)
protected-mode no



# 这是日志保存路径
logfile /usr/local/redis/redis-sentinel.log
           

继续修改配置文件

# 设置哨兵
sentinel `自己主节点的名字`  `主节点的ip`  `主节点的端口号` `2(2个以上的哨兵确认才能认为master挂了)`

# 设置密码
sentinel auth-pass  `刚刚上面设置的主节点名字`  `密码是多少`


# master被哨兵认定失效的毫秒数
sentinel down-after-milliseconds `刚刚上面设置的主节点名字` `认定失效的毫秒数`

# 选举新master后,剩余slave并行同步数据的个数
sentinel parallel-syncs `刚刚上面设置的主节点名字`  `1`

# 主备切换的超时时间,哨兵故障切换超过这个时间,会由其他哨兵执行
sentinel failover-timeout `刚刚上面设置的主节点名字` `毫秒数`
           

如果发现数据不同步

切换master后发现数据不同步,检查一下redis.conf中的`masterauth`是否设置的密码
           

哨兵信息检查命令

# 查看xxx下的master节点信息 
sentinel master xxx
# 查看xxx下的slaves节点信息 
sentinel slaves xxx
# 查看xxx下的哨兵节点信息 
sentinel sentinels xxx

# xxx 为设置的主节点名称
           

SpringBoot集成Redis哨兵模式

spring: 
    redis: 
    database: 1 
    password: xxx 
    sentinel: 
        master: 主节点设置的名字 
        nodes: 192.168.1.1:26379,192.168.1.2:26379,192.168.1.3:26379