2

我开始在设置了主从设置的 redis 上工作。主机和从机设置在具有不同端口的同一台机器上。对于处理主/从故障转移,似乎 redis 有哨兵。我正在尝试实施哨兵。

我的大师 redis.conf:

bind 127.0.0.1(local Machine)
Port 6379

我的从站的 redis1.conf:

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 文件用于主从文件。我运行了两台服务器并通过杀死主服务器进行了检查。奴隶如预期般成为主人。From http://redis.io/topics/sentinel-old , under Resurrecting master section it is mentioned that the master which goes down will be added as slave of new elected master. 但是当我把我的主人打倒时,奴隶就成了主人。但老主人仍然不是新主人的奴隶。这是使用哨兵的正确方法..?

有关如何使用哨兵处理故障转移的任何建议。?或者节点的任何其他哨兵客户端包..?

4

4 回答 4

1

就我而言(redis的新手),sentinel可以获取slave表单master的信息。所以为了方便,你可以这样做:

  1. 主从设置;
  2. sentinel monitor master,表示slave的信息不在sentinel.conf中(或者连接到sentinel,执行命令“ sentinel monitor mymaster 127.0.0.1 6379 2 ”)
  3. “redis-cli”到sentinel,执行命令“ sentinel failover mymaster ”(众所周知,“mymaster”是master的名字),然后可以看到主从切换了。

更重要的是,你必须确保哨兵的数量足够。例如,如果 quonum 为 2,请确保哨兵的数量至少为 3。连接到任何哨兵,执行“ SENTINEL sentinels<master name> ”或执行“ SENTINEL ckquorum <master name> ”来检查它。

于 2015-12-02T03:28:47.290 回答
0

除了使用 2.8 之外,您的哨兵配置应该只监控主节点。任何从站都将被自动检测到。

所以你的哨兵配置中唯一应该是

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
于 2014-07-24T19:05:29.823 回答
0

使用2.8版本的redis(Windowws 64位可用),因为2.6版本的sentinel并没有复活master。

于 2014-05-27T19:32:00.360 回答
0

Windows 中没有对 redis 和 sentinel 的适当支持。当我在具有最新 redis-stable 版本的虚拟 ubuntu 中检查相同内容时,一切正常。

于 2014-05-07T10:02:27.027 回答