Redis 搭建哨兵模式 一主两从三哨兵

3 篇文章 0 订阅
3 篇文章 0 订阅

一、什么是Redis哨兵模式:
哨兵的核心功能:在主从复制的基础上,哨兵引入了主节点的自动故障转移

二、哨兵模式的作用:
哨兵是Redis的一种工作模式,以监控节点状态及执行故障转移为主要工作,哨兵总是以固定的频率去发现节点、故障检测,然后在检测到主节点故障时以安全的方式执行故障转移,确保集群的高可用性。

三、主节点的选举条件:
自动故障迁移当一个Master不能正常工作时,哨兵通过投票协议会开始一次自动故障迁移操作,它会将其他一个Slave升级为新的Master,当客户端试图连接失效的Master时,集群也会向客户端返回新Master的地址,使得集群可以使用现在的Master替换失效Master。Master和Slave服务器切换后,Master的redis.conf、Slave的redis.conf和sentinel.conf的配置文件的内容都会发生相应的改变,即,Master主服务器的redis.conf配置文件中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换;

四、实验部署
 

主从部署
 

所有节点安装redis

分别修改主机名

[root@localhost ~]#  hostnamectl set-hostname master
[root@localhost ~]#  hostnamectl set-hostname slave1
[root@localhost ~]#  hostnamectl set-hostname slave2

修改Master节点配置文件
 

[root@master ~]# vim /usr/local/redis/bin/redis.conf 
 bind 0.0.0.0                            ##监听所有网卡
 daemonize yes                           ##允许后台启动
 logfile "/var/log/redis_6379.log"       ##指定日志存放路径
 dir /usr/local/redis/var                ##指定数据存放路径
 requirepass 123123                      ##设置redis登录密码
 appendonly yes                          ##开启AOF持久化功能

重启redis服务
[root@master ~]#systemctl start redis


修改slave1和slave2两个从节点(因配置相同在此只拿slave1举例)

[root@slave1 ~]# vim /usr/local/redis/bin/redis.conf 
 bind 0.0.0.0                            ##监听所有网卡
 daemonize yes                           ##允许后台启动
 logfile "/var/log/redis_6379.log"       ##指定日志存放路径
 dir /usr/local/redis/var                ##指定数据存放路径
 replicaof 192.168.100.1  6379           ##指定主节点ip和端口号
 masterauth 123123                       ##指定主节点的redis登录密码
 appendonly yes                          ##开启AOF持久化功能

创建数据存放位置
[root@slave1 ~]# mkdir /usr/local/redis/var/

重启redis服务
[root@slave1 ~]# systemctl restart redis

验证主从复制效果

在Master上创建键值查看slave1和slave2有没有复制过去

[root@master ~]# redis-cli -h 192.168.100.1 -a 123123 -p 6379
192.168.100.1:6379> set name zhangsan
OK

[root@slave1 ~]# redis-cli -h 192.168.100.2 -a 123123 -p 6379
192.168.100.2:6379> keys *
1) "name"
192.168.100.2:6379> get name
"zhangsan"

[root@slave2 ~]# redis-cli -h 192.168.100.3 -a 1710lzz... -p 6379
192.168.100.3:6379> keys *
1) "name"
192.168.100.3:6379> get name
"zhangsan"

哨兵部署
 

[root@master ~]# cp /usr/src/redis-7.0.8/sentinel.conf /usr/local/redis/bin/
[root@master ~]# vim /usr/local/redis/bin/sentinel.conf 
daemonize yes                                        ##允许redis后台启动
logfile "/var/log/sentinel.log"                      ##指定日志存放路径
dir "/usr/local/redis/sentinel"                      ##指定数据存放路径
sentinel monitor mymaster 192.168.100.2 6379 1       ##master的ip和redis端口号 1表示:至少需要1个哨兵节点同意,才能判定主节点故障并进行故障转移
sentinel auth-pass mymaster 123123                   ##master的redis登录密码
sentinel down-after-milliseconds  mymaster  30000    ##判定服务器down掉的时间周期,默认30秒
sentinel failover-timeout mymaster 180000            ##切换操作完成的时间周期为180秒,逾期认为切换失败

创建数据存放位置
[root@master ~]# mkdir /usr/local/redis/sentinel

在redis配置文件里添加master密码
[root@master ~]# vim /usr/local/redis/bin/redis.conf
masterauth 123123

重启redis服务
[root@master ~]# systemctl restart redis

在master节点上启动Redis sentinel

[root@master ~]# redis-sentinel /usr/local/redis/bin/sentinel.conf 

查看sentinel日志

[root@master ~]# tail -f /var/log/sentinel.log 

可以看到192.168.100.2和192.168.100.3的master ip是192.168.100.1

测试Redis sentinel,关闭master节点上的redis测试集群切换

[root@master ~]# systemctl stop redis

 可以看到192.168.100.1和192.168.100.3的master ip是192.168.100.2
 

Redis哨兵模式搭建完成

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨鸟先飞geigeigei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值