Redis哨兵模式
- 一、服务器准备
- 二、安装redis
- 1.Master服务器
- 2.SlaveFirst服务器
- 3.SlaveSecond服务器
- 三、依次开启Redis服务器
- 四、开启哨兵
- 1.修改Master哨兵配置文件
- 2.修改SlaveFirst哨兵配置文件
- 3.修改SlaveSecond哨兵配置文件
- 4.开启哨兵
- 5.验证是否开启成功
- 6.主从配置如下
- 五、挂掉Master的Redis服务器,看服务器变化
- 六、哨兵配置文件自动更改
- 七、再次开启原先Master
一、服务器准备
Kali安装无法定位软件包问题
Kali防火墙开关
Kali开启ssh端口
安装VM虚拟机,准备三台服务器,这里kali我是之前装的,随便什么linux服务器都行
二、安装redis
没有下载权限看这篇
Redis安装参考这篇
CentOs7:systemctl stop firewalld.service(关闭)firewall-cmd --state(查看状态) 三台服务器需要开放对应的端口,或者简单点直接关闭防火墙
kaili:关闭见上文文章链接
1.Master服务器
首先安装主服务器,这里安装Redis,之后修改redis.conf配置文件,来开启服务
1.bind 192.168.1.7 //绑定监听ip
2.daemonize yes //开启后台运行
3.protected-mode no //关闭守护模式,允许外部访问
4.port 6379 //开启监听端口
2.SlaveFirst服务器
安装第一台从Redis服务器,修改Redis.conf的配置
slaveof 192.168.1.5 6379 //从服务器需要这里在redis.conf中加上这句话
1.bind 192.168.1.5 //绑定监听ip
2.daemonize yes //开启后台运行
3.protected-mode no //关闭守护模式,允许外部访问
4.port 6379 //开启监听端口
5.slaveof 192.168.1.7 6379 //配置从服务器的主服务器
3.SlaveSecond服务器
安装第一台从Redis服务器,修改Redis.conf的配置
slaveof 192.168.1.5 6379 //从服务器需要这里在redis.conf中加上这句话
1.bind 192.168.1.6 //绑定监听ip
2.daemonize yes //开启后台运行
3.protected-mode no //关闭守护模式,允许外部访问
4.port 6379 //开启监听端口
5.slaveof 192.168.1.7 6379 //配置从服务器的主服务器
三、依次开启Redis服务器
顺序:1、开启Master -》2、开启SlaveFirst-》3、开启SlaveSecond
cd /opt/redis-7.0.5/ *进入redis的解压目录中./src/redis-server ./redis.conf *开启Redis服务./src/redis-cli -h 192.168.1.7 -p 6379 //打开redis的客户端,验证redis是否启动成功(Redis本机服务器地址)(端口)
进入master,在cli中输入info信息查看如下,主从布置完毕,主服务器已经挂载两台从服务器
四、开启哨兵
1.修改Master哨兵配置文件
这三台Redis,Master和Slave的哨兵配置文件都一致
编辑哨兵配置文件
vim sentinel.conf
配置文件修改添加内容
daemonize yessentinel monitor mymaster 192.168.1.7 6379 2(Master服务器ip) (端口) (投票数)
2.修改SlaveFirst哨兵配置文件
daemonize yessentinel monitor mymaster 192.168.1.7 6379 2(Master服务器ip) (端口) (投票数)
3.修改SlaveSecond哨兵配置文件
daemonize yessentinel monitor mymaster 192.168.1.7 6379 2(Master服务器ip) (端口) (投票数)
4.开启哨兵
注意,先开启上面三台主从Reids,然后再配置三台哨兵,并按master先开,再开slave顺序。
./src/redis-sentinel ./sentinel.conf
5.验证是否开启成功
Master设置key value
两台从服务器查询内容,主从复制成功
6.主从配置如下
master配置如下
salveFirst信息如下
salveSecond信息如下
现在三台机器的配置
192.168.1.7 Master
192.168.1.6 Slave
192.168.1.5 Slvae
五、挂掉Master的Redis服务器,看服务器变化
这里切换过程可能比较长点,可能要几分钟
kill掉Master,然后查看另外两台服务器信息,发现自动推举一台从服务器为Master了
查看192.168.1.7 Master,发现无法访问,
查看推举上来的Master,192.168.1.6 Slave 现在变为Mater
发现192.168.1.5 Slvae ,这台服务器的已经切换Master了。
六、哨兵配置文件自动更改
哨兵模式下的Sentinel.conf哨兵文件,会随着Mater的宕机,自动更改文件配置,重新推举一台新的Master服务器。这里是有原Master 192.168.1.7切换为192.168.1.6了
Master的redis.conf文件也会自动更改
七、再次开启原先Master
发现即使重新开启了,仍无法变为master,只能甘当小弟了。
攻守移位,现在原先的从服务器192.168.1.6变成了Master,并随着192.168.1.7原先Master的重启,192.168.1.6现在有了两个小弟