redis主从复制哨兵模式以及其他三种常见使用场景

redis主从复制

主从复制下的四种常见场景:
1.一主二仆或者一主多仆
①一个主机下配置多个从机,主机不需要做任何配置,在需要当成从机的机器上运行redis执行SLAVEOF 192.168.150.131 6379指令 SLAVEOF+主机IP地址+主机redis端口号 即可
2.薪火相传
①如现在启动了A/B/C三个rides,A是B的主机,B是C的主机,这就是薪火相传。不在是B和C都挂在A上。
3.反客为主
①当主机挂了,可以在从机中选出一台机器从新指定为主机,只要在选中的从机执行SLAVEOF no one 指令,并将从机从新与新的主机绑定即可
4.哨兵模式
①反客为主的自动版,当主机挂了redis会自动帮你从从机中选出一台机器作为主机,当原先挂掉的主机回来后,它也会被分配到后面从新分配的主机下面作为从机进行使用。

*注:1.主从复制实现了读写分离,从机是不能进行写入操作的,只能读。主机才有读写权利
2.主从复制模式下如果主机挂了,从机原地待命,不会抢班夺权。
3.从机如果挂掉了,或者与主机断开连接了,当从机再次连接时不会再和主机绑定,也就是说从机现在已经和没挂之前绑定的主机没有联系了,需要从新绑定主机,除非在配置文件里配置了。

info replication //查看当前redis角色,也就是他的级别 是主(master)还是从(slave)
SLAVEOF 192.168.150.131 6379 //给当前redis指定主机,及执行完此命令,该redis就变成IP为192.168.150.131 端口号为6379主机下的一个从机

下面开始具体的演示:

1. 启动三台虚拟机并都安装成功redis,如果不会安装的请看博主另一篇博客linux下安装rides,也可以在一台虚拟机下启动三个redis服务。本文使用第一种做演示,启动三台安装好redis的虚拟机。找到每个虚拟几下的redis配置文件,也就是redis.conf文件。
redis主从复制哨兵模式以及其他三种常见使用场景_第1张图片
**打开这个配置文件修改如下配置
1.将daemonize no 改为 yes
2.将port 6379 端口号 依次改为6379 6380 6381 第一台虚拟机改为6379 第二台虚拟机改为6380 第三台虚拟机改为 6381 到此三台虚拟机下的三个redis服务的配置已全部配置完成。

redis主从复制哨兵模式以及其他三种常见使用场景_第2张图片

2. 依次启动这三台虚拟机的redis服务:
redis主从复制哨兵模式以及其他三种常见使用场景_第3张图片
redis主从复制哨兵模式以及其他三种常见使用场景_第4张图片
redis主从复制哨兵模式以及其他三种常见使用场景_第5张图片

3. 主从配置,遵循原则配从不配主,这里我们选择端口号为6379这台机为主机,那么这台主机就不需要做任何配置,只需要配置端口号为6380和6381的两台机器就行了。具体配置如下:
①先配置第一种模式一主二仆,当然也可以一主多仆看具体需要,我们这里演示一主二仆:
启动完成redis后在端口号为6380和6381的机器上执行如下指令:
redis主从复制哨兵模式以及其他三种常见使用场景_第6张图片
redis主从复制哨兵模式以及其他三种常见使用场景_第7张图片
这样一主二仆就配置完成了,查看是否配置完成在主机终端输入如下命令查看
info replication

redis主从复制哨兵模式以及其他三种常见使用场景_第8张图片

测试一主二仆,主机执行SET操作,从机也会自动进行同步:
redis主从复制哨兵模式以及其他三种常见使用场景_第9张图片
②薪火相传模式:
端口号为6379作为端口号6380的主机,然后端口号为6380的作为端口号为6381的主机

配置如下6379这台机不要做任何配置,6380和6381分别作如下操作:
redis主从复制哨兵模式以及其他三种常见使用场景_第10张图片
配置完成,测试:
redis主从复制哨兵模式以及其他三种常见使用场景_第11张图片
③反客为主。
在一主二仆的前提下,如果主机挂掉了,这时候只需要在两台从机中随便选出一台执行SLAVEOF no one 命令,我们从6380和6381中选出6380作为主机演示,即在6380机器的终端执行SLAVEOF no one 然后在6381机器的终端执行 SLAVEOF 192.168.150.133 6380 即可:
redis主从复制哨兵模式以及其他三种常见使用场景_第12张图片

测试:
redis主从复制哨兵模式以及其他三种常见使用场景_第13张图片

④哨兵模式
在一主二仆的模式下执行下面操作。
创建一个名称为sentinel.conf的文件,名字一定不要写错了

创建文件指令,我这里是创建在我home目录下:
redis主从复制哨兵模式以及其他三种常见使用场景_第14张图片

在这个配置文件里加入如下配置并保存退出;
redis主从复制哨兵模式以及其他三种常见使用场景_第15张图片
启动redis的哨兵模式:
redis主从复制哨兵模式以及其他三种常见使用场景_第16张图片
控制台打印出如下信息说明启动成功:
redis主从复制哨兵模式以及其他三种常见使用场景_第17张图片

哨兵模式测试:

正常情况下,6379是主机6380和6381是从机没毛病
redis主从复制哨兵模式以及其他三种常见使用场景_第18张图片
将主机6379关闭掉,这时候redis的配置的哨兵模式就起作用了,当主机挂掉后,它会自动的从6380和6381中选出一台作为主机,而另一台也会跟着变化,被自动指派到当前主机下作为从机使用,具体如下图:
redis主从复制哨兵模式以及其他三种常见使用场景_第19张图片
如果这时候刚刚挂掉的主机回来了,那么他不在是主机,而是被作为6380主机下的从机进行使用,如下图:
redis主从复制哨兵模式以及其他三种常见使用场景_第20张图片

到此四种模式全部整理完成

你可能感兴趣的:(nosql非关系型数据库)