深入浅出 Redis-redis 哨兵集群

Redis 哨兵模式

如果我们在使用主从复制的情况下,Master 服务器进行了 down 机的情况,我们的系统就不能再进行写的操作,所以此时 redis 在 2.6 版本引入了哨兵模式,但是并不稳定,2.8 版本之后哨兵模式才稳定了起来。

顾名思义 Redis 的哨兵模式就是对 redis 系统进行实时的监控,其主要功能有下面两点

1.监测主数据库和从数据库是否正常运行。

2.当我们的主数据库出现故障的时候,可以自动将从数据库转换为主数据库,实现自动的切换。

##
实现步骤

这里我们还是使用上面的 redis 服务器的 ip,Master 的 ip 为 192.168.1.229,slave1 为:192.168.1.230,slave2 为:192.168.1.231

在其中一台服务器配置 sentinel.conf(比如 192.168.1.230)

1.进入解压的 redis 文件夹中使用 cp 命令将 sentinel.conf 文件 copy 到你的 redis 中的 etc 文件夹。

2.修改 sentinel.conf 这个配置文件

打开这个文件 我们注意到哨兵使用的端口号是 26379.

dir “/usr/local/redis/etc”这个 dir 相当于哨兵的一些日志,我们修改他的路径,让他存放在我们想要保存的目录中。

sentinel monitor mymaster 192.168.1.229 6379 1 对应的分别是 名称,ip,端口,投票选举的次数(那么我们哨兵监听的肯定是 master 的 ip 然后端口是 6379,1 说明当 master 主服务器 down 机之后,剩下的服务器要进行一个投票选举出一个主服务器)

sentinel down-after-milliseconds mymaster 5000 这个配置代表哨兵 0.5ms 进行一次检查这个集群。

sentinel parallel-syncs mymaster 2 这个配置代表你的几个从节点将支持转换为主服务器的这个事情。

需要修改的几乎就这几个配置。

然后 我们分别启动三台 redis 服务器

输入 bin/redis-server etc/sentinel.conf –sentinel &这个命令启动哨兵

/usr/local/redis/bin/redis-cli -h 192.168.1.230 -p 26379 info sentinel 这个命令是查看哨兵的状态

我们看到我的主服务器现在是 229 现在有两个 slave

这样我们的哨兵模式就已经开启了,此时我们可以试图关闭 229 的 redis,然后看哨兵会不会去从两个从服务器中选举一台充当主服务器。