VMware虚拟机14.0+CentOS7配置Redis的哨兵机制

1.先完成主从架构的配置,确保可用。可参考(VMware虚拟机14.0+CentOS7配置Redis的主从分布

2.我的做法是在root下mkdir sentinel新建一个文件夹叫sentinel,接着使用touch sentinel.conf建立一个sentinel.conf的配置文件。

[root@localhost bin]# cd ~
[root@localhost ~]# mkdir sentinel
[root@localhost ~]# cd sentinel/
[root@localhost sentinel]# touch sentinel.conf

接着使用vim sentinel.conf编辑该文件,新增加一行

sentinel monitor mymaster 192.168.*.* 7000 1

mymaster是为哨兵监视的主从架构起个名字,可以任意取
因为当前我在一台虚拟机上部署,所以使用的是该虚拟机的静态ip
port为自己设置的(默认为6379)
1是哨兵的数量(如果为5,那么只有当超过一半也就是3个哨兵说master已经宕机才会启动新的master选举以及自动故障转移这个过程)

3.复制执行文件
进入redis源码目录,进入源码目录下的src目录,复制redis-sentinel进入和redis-server同在的目录下

cp redis-sentinel /usr/redis/bin/

4.执行
cd /usr/redis/bin/进入到文件夹下,一下命令启动

./redis-sentinel  /root/sentinel/sentinel.conf

在这里插入图片描述
可见哨兵的端口默认是26379,多个哨兵就配置多个port,也就是在sentinel.conf下面新增,并改端口,可加个bind开启远程连接

port 26379
bind 0.0.0.0
dir "/usr/redis/bin"
sentinel monitor mymaster 192.168.253.9 7000 1

5.测试
当前master下有如下key

127.0.0.1:7000> keys *
1) "name"
2) "address"
3) "age"

接下去将宕掉master,观察变化
在这里插入图片描述在新的master上查看数据,数据仍在,并且可读可写,既保存了数据又不会像纯主从架构一样master宕机整个系统就不能用

127.0.0.1:7001> keys *
1) "age"
2) "address"
3) "name"
127.0.0.1:7001> LPUSH lists zhangsan lisi wangwu
(integer) 3

另一个没选上的slave也同步到了数据

127.0.0.1:7002> KEYS *
1) "address"
2) "name"
3) "lists"
4) "age"

注意:之后宕机恢复来的节点将成为新的slave。
无法解决: 1.单节点并发压力问题 2.单节点内存和磁盘物理上限需要redis集群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值