问题:
哨兵模式按照下面的配置后可以正常使用并且达到预想效果(正常主从效果)
手动关闭主服务后会自动切换从机转成主服务,另外一台从机也会重新关联到新的主服务上去,但是再将原来关闭的主服务开启后,无法变成正常的从服务,变成只读了并且无法同步数据
环境windows单机
1主2从3哨兵
主:6379
从:6380,6381
哨兵:
26379,26380,26381
主机直接下载的windows解压包
redis-server.exe --service-install redis.windows.conf --service-name rediszhu --loglevel verbose
从机添加
slaveof 127.0.0.1 6379
masterauth 123456
redis-server.exe --service-install redis.windows.conf --service-name rediscong1 --loglevel verbose
redis-server.exe --service-install redis.windows.conf --service-name rediscong2 --loglevel verbose
哨兵sentinel.conf
port 26381
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 10000
sentinel config-epoch mymaster 0
sentinel auth-pass mymaster 123456
哨兵启动
redis-server.exe sentinel.conf --sentinel
经过测试发现,如果把主从的密码去掉,哨兵的密码也去掉一切正常,求指点
另外有没有大佬能够解释一下redis在哨兵模式下的读写会不会自动进行主从转换的(读的时候使用从,写的时候使用主),我在使用CSReidsCore进行访问的时候,只需要配置哨兵的ip和端口,这里貌似无法直接判断读写是否分离啊
如果有设置密码,那么主服务也必须设置masterauth 密码,如果不设置主从切换的时候原来的主服务会由于没有密码导致连接失败