我们有三个redis 3.2.7服务器。 每个redis服务器都运行redis本身和redis sentinel(用于故障转移)。 这是每个节点的标识configuration
奴隶1(哨兵)192.168.0.15
bind 192.168.0.15 port 26379 logfile "/var/log/sentinel.log" sentinel myid 57ge72174330d523tcec8adcd1e039c7f51c298c sentinel monitor mymaster 192.168.0.16 6379 2 sentinel down-after-milliseconds mymaster 5000 sentinel auth-pass mymaster super-secret-password sentinel config-epoch mymaster 77 dir "/" sentinel leader-epoch mymaster 0 sentinel known-sentinel mymaster 192.168.0.17 26379 2b72876887f0e2c8db75e6d407babb60eb1a7185 sentinel known-sentinel mymaster 192.168.0.16 26379 06b84b7e6e320797ef49681c2e0598364b673c15 sentinel current-epoch 78
硕士(哨兵) – 192.168.0.16
bind 192.168.0.16 port 26379 logfile "/var/log/sentinel.log" sentinel myid 06b84b7e6e320797ef49681c2e0598364b673c15 sentinel monitor mymaster 192.168.0.16 6379 2 sentinel down-after-milliseconds mymaster 5000 sentinel auth-pass mymaster super-secret-password dir "/" sentinel config-epoch mymaster 77 sentinel leader-epoch mymaster 0 sentinel known-sentinel mymaster 192.168.0.17 26379 2b72876887f0e2c8db75e6d407babb60eb1a7185 sentinel known-sentinel mymaster 192.168.0.15 26379 57ge72174330d523tcec8adcd1e039c7f51c298c sentinel current-epoch 78
奴隶S(哨兵)192.168.0.17
bind 192.168.0.17 port 26379 logfile "/var/log/sentinel.log" sentinel myid 2b72876887f0e2c8db75e6d407babb60eb1a7185 sentinel monitor mymaster 192.168.0.16 6379 2 sentinel down-after-milliseconds mymaster 5000 sentinel auth-pass mymaster super-secret-password dir "/" sentinel config-epoch mymaster 77 sentinel leader-epoch mymaster 0 sentinel known-sentinel mymaster 192.168.0.16 26379 06b84b7e6e320797ef49681c2e0598364b673c15 sentinel known-sentinel mymaster 192.168.0.15 26379 57ge72174330d523tcec8adcd1e039c7f51c298c sentinel current-epoch 78
如果我停止主节点上的redis-server和redis-sentinel,我会在从服务器上看到以下内容:
2664:X 01 Mar 16:17:15.563 # +sdown master mymaster 192.168.0.16 6379
所以哨兵正在看到师父是失望的 但是不会发生故障转移。 如果我使用以下方法检查从站:
redis-cli -h 127.0.0.1 -p 26379 -a super-secret-password sentinel get-master-addr-by-name mymaster
我得到:
1) "192.168.0.16" 2) "6379"
所以他们看到了老师(已经被closures了,仍然是他们的主人),如果他们看到师父倒下,他们为什么不select新的师父呢?
顺便说一下,当我们运行Redis 2.8.9时,我相信这个configuration正在工作。 所以我只能猜测redis sentinel在3.2.7中可能已经改变了。 我只是不知道从哪里开始寻找。
任何帮助或指针,将不胜感激。
感谢Brad