一 IP规划及背景
- 192.168.126.120 redis-master
- 192.168.126.121 redis-salve1
- 192.168.126.122 redis-salve2
- redis-主从配置以实现,参考“https://blog.csdn.net/m0_37993017/article/details/108227878”
二 目标
- 在redis一主多从的基础上,加入哨兵机制,实现redis集群的高可用
- 默认120服务器节点为redis-master,当此节点宕机后,根据sentinel投票机制,选举121或122为redis-master,当120恢复服务后,自动加入集群,成为salve
三 配置
- redis-master
- 进入redis解压后的目录,拷贝“sentinel.conf”到存放redis配置的目录
- 修改sentinel.conf
- 修改为后台运行
- 修改sentinel日志存储位置,目录如果不存在,要先建一下,slave节点也是
- 修改sentinel的工作空间
- 配置“sentinel monitor master-name ip redis-port quorom”,master-name符合命名规则即可,ip和redis-port好理解,quorom处填需要的法人数量,例如填写为2,当前有3个哨兵,当3个哨兵中至少有2个与redis-master无法ping-pong,才认定redis-master客观下线,此时才启动故障恢复机制。一般的,法人数量=哨兵数量/2 + 1。
- 配置redis密码
- 配置认定失效时间(默认30min)
- 数据同步并行数量(默认是1)。当slave选举为master后,此时要将新master的数据同步到其他slave节点,并行数量为1,即是一个一个同步到所有slave节点。
- 定义故障切换超时时间(可默认)
- 将此文件,复制到121,122两个节点,
scp sentinel.conf root@192.168.126.121:/usr/local/redis/
- 修改120的redis.conf,设置masterauth 123456,同slave节点,否则,120宕机重启后,redis服务不可用
- 修改为后台运行
- 进入redis解压后的目录,拷贝“sentinel.conf”到存放redis配置的目录
四 启动服务
- 分别启动三个节点的sentinel服务即可,
redis-sentinel sentinel.conf
- 查看sentinel日志,
tail -f redis-sentinel.log