Redis主从+哨兵模式实验

实验准备

需要3台安装好redis的机器, 1主 2从 测试你的redis可用,关闭防火墙和selinux

修改主机名位redis1,2,3 hostnamectl set-hostname redis1,修改ip地址

三台主机解析vim /etc/hosts

 Redis主从配置

主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的SORT就可以由从服务器来承担。

master:
    bind 0.0.0.0            //监控本地所有网卡IP(改成0000或者ip地址)
    protected-mode no   (保护模式,不允许远程访问)

1.修改master

[root@redis1 src]# vim /etc/redis/6379.conf 

 把保护模式改为no

 2.修改slave1

slave1:
    bind 0.0.0.0

 replicaof  master_ip  master_port           指定ip地址和端口
    protected-mode no      保护模式

[root@redis2 src]# vim /etc/redis/6379.conf 

 

  3.修改slave2  

和slave一模一样

[root@redis2 src]# vim /etc/redis/6379.conf

重启服务

systemctl restart redis

测试

 在主服务器设置一个数据,在从服务器,自动出现数据。就说明成功了。

在主

 slave1

 slave2

Redis模式

Sentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中

什么是哨兵模式?

当主服务器挂掉之后,它会从从服务器,选一个服务器出来当主服务器。

Redis主从+哨兵模式实验

先主从,再哨兵,1主2从做好 最少3台机器

配置哨兵模式: 每台机器上修改redis主配置文件设置:bind 0.0.0.0(在做主从时已经做好了)

每台机器上修改sentinel.conf配置文件:**添加**如下配置(三台机器都做一样的操作)先看有没有默认配置
sentinel monitor mymaster 192.168.22.166 6379 1(数字1代表只要有1个从服务器认为master挂掉了,我们就认为它真的挂掉了)
sentinel down-after-milliseconds mymaster 3000 (3秒之内没有回复心跳,就认为挂掉了)
sentinel failover-timeout mymaster 10000    (给它一个喘息时间,如果10秒还没回复,就真的挂了)
protected-mode no     保护模式 

 到了生产环境,不要弄这么短(3)默认值就可以

 第一个改完,直接拷贝到另外两台机器

 拷贝过去之后检查一下,看有没有拷过去

 测试

每台机器启动服务:
# ./src/redis-sentinel sentinel.conf

 这里可以看到slave切换成master的过程,正常要放后台

另外两个也是让它在前台运行,在生产环境要把它放到后台(加个&就行)

三台都启动完成。

当主服务器挂掉,哨兵模式会主动把从服务器变成主服务器。

现在把主服务器关掉。去观察从服务器是不是有新的输出

[root@redis1 redis-6.2.6]# systemctl stop redis

 166变成slave了,166宕掉了,现在master变成167了。

 

 在master创建数据,在slave能get到就行了。

 

主挂掉之后,再开启主,主就变成从了

  实验成功

【注意】书到用时方恨少,知识需要一定的积累。少熬夜,多看书

猜你喜欢

转载自blog.csdn.net/weixin_53150440/article/details/127369965