在一台虚拟机(centos6.5【64】)试着搭redis sentinel,开了三个redis实例和两个sentinel实例:
redis主:192.168.1.25 6381
redis从:192.168.1.25 6382
redis从:192.168.1.25 6383
sentinel实例的端口分别为:5000,5001
下面是主redis的配置文件:
两个从redis的配置文件:
分别启动主和两个从之后(主从关系应该没问题):
下面是两个sentinel的配置文件:
然后启动两个sentinel的实例,看它们分别输出的日志:
问题:
当这两个sentinel启动之后,都可以发现对方的存在(+sentinel sentinel),但紧接着两个都相互发现无法通信了(+sdown sentinel),然后kill掉主redis,都两个sentinel都发现master挂了(+sdown),但双方都没收到对方的消息,所以事件就没有进升为(+osdown),也就无法触发failover,请问是什么原因呢,是配置有问题吗?
因为是在同一台虚拟机上多个redis实例来做验实的,如果把sentinel配置文件里监控的主redis的IP改为127.0.0.1这样就正常了,这是为啥?
#从故障转移开始milliseconds毫秒没有完成转移操作,则视为转移失败