我开始使用主从设置来处理redis。主站和从站设置在具有不同端口的同一台机器中。为了处理主/从故障转移,似乎redis有哨兵。我正在努力实施哨兵。
我的redis.conf for Master:
bind 127.0.0.1(local Machine)
Port 6379
我的redis1.conf for Slave:
bind 127.0.0.1
port 6380
slaveof 127.0.0.1 6379
我的sentinel.conf有:
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1
sentinel monitor resque 127.0.0.1 6380 1
sentinel down-after-milliseconds resque 10000
sentinel failover-timeout resque 180000
sentinel parallel-syncs resque 5
我正在使用https://www.npmjs.org/package/redis-sentinel-client作为哨兵客户端。
我只使用一个sentinel.conf文件用于主服务器和从服务器。我运行了两台服务器并通过kill主服务器进行检查。奴隶如预期般成为主人。从http://redis.io/topics/sentinel-old开始,在Resurrecting master部分中,提到将关闭的主设备将被添加为新选主设备的从设备。但是当我把我的主人带下来时,奴隶成了主人。但是老主人仍然不是新主人的奴隶。这是使用哨兵的正确方法吗?
有关查找如何使用sentinel来处理故障转移的任何建议。 或节点的任何其他sentinel-client包..?
答案 0 :(得分:0)
在Windows中没有对redis和sentinel的适当支持。当我使用最新的redis-stable版本在虚拟ubuntu中检查相同时,每件事情都可以。
答案 1 :(得分:0)
使用2.8版本的redis(适用于Windows 64位),因为2.6版本的哨兵不会复活大师。
答案 2 :(得分:0)
除了使用2.8之外,您的Sentinel配置应仅监控主节点。任何从站都将被自动检测到。
所以你的哨兵配置中唯一的东西应该是
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1
答案 3 :(得分:0)
就我而言(redis的新手),哨兵可以获取奴隶形式大师的信息。所以为方便起见,你可以这样做:
更重要的是,你必须确保哨兵的数量足够。 例如如果quonum为2,请确保哨兵的数量至少为3。 连接到任何哨兵,执行“ SENTINEL哨兵<主要名称> ”,或执行“ SENTINEL ckquorum<主要名称> ”进行检查。