1.前言
redis哨兵集群方式包含了主从、master高可用,当集群中master节点挂掉时,哨兵会从slave中投票选举出一个新的master节点,新的master节点会将原来master节点的slave全部转移到新的master节点上,以此来实现master的高可用
2.环境
名称 | ip | port |
redisA | 10.1.60.114 | 6379,26379 |
redisB | 10.1.60.115 | 6379,26379 |
redisC | 10.1.60.80 | 6379,26379 |
3.搭建哨兵集群
3.1搭建主从环境(此处114是master节点)
参考https://blog.csdn.net/ApexPredator/article/details/129419428?spm=1001.2014.3001.5502
唯一不同的是需要在maste节点的配置文件上配置masterauth
3.2在redis安装目录下配置哨兵配置文件(三台主机均需要配置)
vi /root/redis-6.2.11/sentinel.conf
bind 0.0.0.0
protected-mode no
port 26379
daemonize yes
logfile "/etc/sentinel/sentinel.log"
dir "/etc/sentinel"
sentinel moniter mymaster 10.1.60.114 6379 2 #mymaster是随机命名的master名称,2是当有两台sentinel发现master有问题时,就执行故障转移
sentinel auth-pass mymaster Nfd@9527 #master节点的密码
sentinel down-after-milliseconds mymaster 3000 #对master节点的心跳检测间隔时间3s
3.3创建sentinel的工作目录
mkdir -p /etc/sentinel
3.4启动sentinel服务
redis-sentinel /root/redis-6.2.11/sentinel.conf
3.5查看哨兵详情信息
redis-cli -p 26379 info sentinel
3.6查看sentinel配置文件底部(在sentinel服务启动后会添加监控到的信息到配置文件末尾)
cat /root/redis-6.2.11/sentinel.conf
4.验证哨兵功能
干掉master节点
redis-cli -p 6379 -a Nfd@9527 shutdown #在master上执行
查看其余两个节点的信息
重新启动114节点查看状态