1、准备四台机器
192.168.0.106
192.168.0.107
192.168.0.108
192.168.0.109
2、修改配置
107为106从节点,108、109为107从节点
106修改redis.conf
masterauth 123456
107修改redis.conf
replicaof 192.168.0.106 6379
masterauth 123456
108修改redis.conf
replicaof 192.168.0.107 6379
masterauth 123456
109修改redis.conf
replicaof 192.168.0.107 6379
masterauth 123456
分别启动这几台redis,redis-cli查看集群信息命令 info replication
3、主从复制存在的缺陷
如果主节点存在了问题,整个Redis环境是不可以实现写的操作,因此使用哨兵机制解决Redis集群主从选举策略
4、哨兵机制原理
a、哨兵机制每个10s时间只需要配置监听我们的主节点就可以获取当前整个Redis集群的环境列表,采用info 命令形式。
b、哨兵不建议是单机的,最好每个Redis节点都需要配置哨兵监听。
c、哨兵集群原理是如何:多个哨兵都执行同一个主的master节点,订阅到相同都通道,有新的哨兵加入都会向通道中发送自己服务的信息,该通道的订阅者可以发现新哨兵的加入,随后相互建立长连接。
d、Master的故障发现单个哨兵会向主的master节点发送ping的命令,如果master节点没有及时的响应,哨兵会认为该master节点为“主观不可用状态”会发送给其他都哨兵确认该Master节点是否不可用,当前确认的哨兵节点数>=quorum(可配置),会实现重新选举。
5、哨兵配置
四台机器分别操作以下步骤:
# cp /usr/redis-5.0.6/sentinel.conf /usr/redis/bin
# cd /usr/redis/bin
# vi sentinel.conf
sentinel monitor mymaster 192.168.0.106 6379 3
sentinel auth-pass mymaster 123456
启动哨兵./redis-sentinel ./sentinel.conf
其它配置说明如下:
sentinel down-after-milliseconds mymaster 3000#sentinel心跳检测主3秒内无响应,视为挂掉,开始切换其他从为主
sentinel parallel-syncs mymaster 1#每次最多可以有1个从同步主。一个从同步结束,另一个从开始同步。
sentinel failover-timeout mymaster 18000#主从切换超时时间