查看master主从信息:info replication
发现connected_slave数量为0
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
2、修改你的从节点reidis.config文件,添加主节点密码:
masterauth your_password
3、在从节点上执行下面命令
REPLICAOF master_ip master_port
4、重新查看master主从信息:info replication 发现connected_slave数量变为1
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:1
master 与 slave 没有部署在同一机器时
redis.config配置文件需要关闭网络保护&注释掉访问的bind配置
protected-mode no
#bind 127.0.0.1 -::1
添加sentinel
编辑sentinel.conf 文件添加如下信息
sentinel monitor mymaster yourIP yourPort 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel monitor mymaster yourIP yourPort 2
监控的master的名字叫做mymaster,地址为yourIP yourPort,行尾最后的一个2代表什么意思呢?我们知道,网络是不可靠的,有时候一个sentinel会因为网络堵塞而误以为一个master redis已经死掉了,当sentinel集群式,解决这个问题的方法就变得很简单,只需要多个sentinel互相沟通来确认某个master是否真的死了,这个2代表,当集群中有2个sentinel认为master死了时,才能真正认为该master已经不可用了。
down-after-milliseconds
sentinel会向master发送心跳PING来确认master是否存活,如果master在“一定时间范围”内不回应PONG 或者是回复了一个错误消息,那么这个sentinel会主观地(单方面地)认为这个master已经不可用了(subjectively down, 也简称为SDOWN)。而这个down-after-milliseconds就是用来指定这个“一定时间范围”的,单位是毫秒。
不过需要注意的是,这个时候sentinel并不会马上进行failover主备切换,这个sentinel还需要参考sentinel集群中其他sentinel的意见,如果超过某个数量的sentinel也主观地认为该master死了,那么这个master就会被客观地认为已经死了。
parallel-syncs
在发生failover主备切换时,这个选项指定了最多可以有多少个slave同时对新的master进行同步,这个数字越小,完成failover所需的时间就越长,但是如果这个数字越大,就意味着越多的slave因为replication而不可用。可以通过将这个值设为 1 来保证每次只有一个slave处于不能处理命令请求的状态。
failover-timeout
1. 同一个sentinel对同一个master两次failover之间的间隔时间。
2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。
3.当想要取消一个正在进行的failover所需要的时间。
4.当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了。