一、Sentinel总述
Sentinel中文为哨兵的意思,它是用来监控Redis主从节点的,当Redis的主节点Down的时候,Sentinel会通过选举投票机制,使对应的Slave节点接管,成为新的Redis Master。
我们使用Redis的客户端直接接入Sentinel,由Sentinel告诉我们使用哪个Redis节点作为主节点。
接入Sentinel的代码,只需要配置Sentinel的地址即可,Sentinel会告知客户端真正访问的Redis Master是那个节点。当Redis Master出现故障,发生FailOver,也就是主节点变为其他节点时,客户端代码因为在监听Sentinel的变化,会得到新的Redis Master的地址,从而客户端不需要人工干预,就完成了一次故障转移。
Sentinel的配置文件中,只需要配置Redis Master的地址就可以,因为Sentinel可以通过Redis Master自己获取到那些Slave节点的信息。
以下是Redis Sentinel部署的图示。
二、登录到Redis
查看集群的复制信息:
info replication
测试故障转移:
debug sleep 100
三、Sentinel配置文件
监听的Redis的集群名字,主Redis的IP,端口,以及至少几个哨兵投票认为主节点Down了,就算是Down了。
sentinel monitor <master-name> <ip> <port> <quorum>
没达到票数,是主观Down,达到票数,就是客观Down。
sentinel monitor mymaster 192.168.253.128 6379 2
配置Sentinel连接Redis的密码。
sentinel auth-pass <master-name> <password>
四、登录到Sentinel
查看汇总的信息:
info
查看Sentinel信息:
info sentinel
查看主节点信息:
sentinel masters
查看主节点信息:
sentinel master mymaster
查看从节点信息:
sentinel slaves mymaster
获得主节点IP:
sentinel get-master-addr-by-name mymaster
故障转移:
sentinel failover mymaster