Redis Sentinel não está falhando

2

Temos três servidores redis 3.2.7. Cada servidor redis é executado redis e o redis sentinel (para failover). Aqui está a configuração sentinela para cada nó

Escravo 1 (sentinela) 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

Mestre (sentinela) - 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

Escravo S (sentinela) 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

Se eu parar o redis-server e o redis-sentinel no nó Master, vejo o seguinte nos escravos:

2664:X 01 Mar 16:17:15.563 # +sdown master mymaster 192.168.0.16 6379

Então as sentinelas estão vendo o Mestre como baixo. No entanto, nenhum failover ocorre. Se eu verificar os escravos usando:

redis-cli -h 127.0.0.1 -p 26379 -a super-secret-password sentinel get-master-addr-by-name mymaster

Eu recebo:

1) "192.168.0.16"
2) "6379"

Então eles estão vendo o velho Mestre (que foi desligado como ainda é seu Mestre. Se eles estão vendo o Mestre como baixo, porque eles não estão elegendo um novo Mestre?

A propósito, acredito que esta configuração estava funcionando quando estávamos rodando o Redis 2.8.9. Então eu só posso imaginar que o sentinela redis pode ter mudado em 3.2.7. Eu não tenho certeza de onde começar a procurar.

Qualquer ajuda ou ponteiros serão apreciados.

Obrigado Brad

    
por Brad 01.03.2017 / 22:36

0 respostas