一、最小sentinel集群配置
Redis 2.8,其Sentinel版本称为Sentinel 2,是在Sentinel 1的基础上重写的。因为Sentinel 1已经废弃而且BUG太多,所以强烈建议将Redis和Sentinel均升级到2.8版本,本文中安装的版本为最新的2.8.23。
1、环境:
centos主机的IP:172.30.37.73
在centos上安装redis软件,然后添加配置文件,启动三个redis实例;再配置成一主两从的架构;
添加配置文件,启动三个sentinel实例,让这三个sentinel实例共同监控主redis实例,当主redis实例发生宕机后,进行failover;
2、redis实例、主从配置:
1)在centos上安装redis软件,然后配制成多实例:
安装redis软件;
在/etc/redis目录中建立6379.conf、6380.conf和6381.conf配置文件,修改其中的port、pid路径、日志、数据文件路径(配置成多实例);
使用redis-server /etc/redis/*.conf 依次启动redis实例;
2)主从配置(6379为Master,其余两个为Slave):
在6380和6381的配置文件中(从服务器配置文件)添加如下命令,slaveof 172.30.37.73 6379 这样重启从redis实例后就配置好了主从架构;
配置Slave的slave-priority参数:6380实例该配置参数为50,6381实例该配置参数为100,这样当Master挂掉的时候Sentinel会优先选择slave-priority值较小的作为新的Master。(不同的slave其值一定要不一样,否则jedis测试时无法选取新的master)
补充:slave-priority 100配置
适用Sentinel模块(unstable,M-S集群管理和监控),需要额外的配置文件支持。slave的权重值,默认100.当master失效后,Sentinel将会从slave列表中找到权重值最低(>0)的slave,并提升为master。如果权重值为0,表示此slave为”观察者”,不参与master选举
2、sentinel实例配置:
1)分别在26379、26380和26381三个本地端口上启动三个Sentinel实例,这三个Sentinel实例用来监控上面已经启动的主Redis实