哨兵模式
1. 安装环境
- 使用3台服务器,192.168.42.112(主),192.168.42.113(从),192.168.42.114(从)
- redis安装参照https://blog.csdn.net/qq_40977118/article/details/107893743
2. 设置192.168.42.112(主)
-
修改redis.conf
1.ip地址192.168.42.112
2.requirepass设置密码12345678
3.protected-mode改为no
4.daemonize设为yes
5.加上masterauth 12345678,设置连接主节点的密码(方便此主节点宕机重启之后,可以变为slave与新的master进行通信)
-
修改sentinel.conf
1.修改监听主节点的ip(2表示3个哨兵有2个认为主节点挂掉以后,才进行重新选举)
2.添加配置sentinel auth-pass mymaster 12345678,连接主节点时的密码
3.protected-mode改为no
4.daemonize设为yes
3. 设置192.168.42.113(从)
- 修改redis.conf
1.ip地址192.168.42.113
2.requirepass设置密码12345678
3.protected-mode改为no
4.daemonize设为yes
5.加上masterauth 12345678,设置连接主节点的密码
6.加上slaveof 192.168.42.112 6379,表示作为192.168.42.112的从节点
- 修改sentinel.conf(同192.168.42.112)
1.修改监听主节点的ip
2.添加配置sentinel auth-pass mymaster 12345678,连接主节点时的密码
3.protected-mode改为no
4.daemonize设为yes
4. 设置192.168.42.114(从)
- 修改redis.conf(同192.168.42.113)
1.ip地址192.168.42.114
2.requirepass设置密码12345678
3.protected-mode改为no
4.daemonize设为yes
5.加上masterauth 12345678
6.加上slaveof 192.168.42.112 6379 - 修改sentinel.conf(同192.168.42.112)
1.修改监听主节点的ip
2.添加配置sentinel auth-pass mymaster 12345678,连接主节点时的密码
3.protected-mode改为no
4.daemonize设为yes
5. 依次启动192.168.42.112,192.168.42.113,192.168.42.114的redis客户端
- redis-server redis.conf
6. 依次启动192.168.42.112,192.168.42.113,192.168.42.114的redis哨兵
- redis-sentinel sentinel.conf
7. 连接主节点,查看主从配置
- redis-cli -h 192.168.42.112 -p 6379 -a 12345678
- info replication
- 主
- 从
8. 停止主节点192.168.42.112
- 192.168.42.114被选为主节点
9. 重新启动192.168.42.112的redis
- 192.168.42.112作为从节点
10. 通过JedisSentinelPool连接Redis
-
此springboot工程参考https://blog.csdn.net/qq_40977118/article/details/108033957
-
在RedisConfig中添加Bean
-
创建SentinelController
-
启动服务,发起请求