Eu tenho duas máquinas docker:
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
redis-master * virtualbox Running tcp://192.168.99.100:2376 v1.10.1
redis-slave1 - virtualbox Running tcp://192.168.99.101:2376 v1.10.1
Estou tentando implantar a replicação de mestre / escravo para essas máquinas, portanto, em cada uma delas, eu executo o contêiner REDIS + o contêiner SENTINEL e executo o comando SLAVEOF
na instância do mestre redis. Tudo funciona bem no início, mas depois de algum tempo (1-2 minutos) o mestre imprime # Connection with slave 192.168.99.101:6379 lost.
mensagem no log e os logs escravos # Connection with master lost.
e infinitamente (sem sucesso) tentam ressincronizar com o mestre.
A versão REDIS que eu uso é 3.0.7
(também usando sentinela enviada com redis).
Aqui está o registro MASTER (registros redis e sentinela): link
Aqui está o registro SLAVE (registros redis e sentinela): link
sentinel.conf:
port 26379
dir /tmp
sentinel announce-ip <SENTINEL_IP>
sentinel monitor mymaster <MASTER_IP> 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel announce-port 26379
redis.conf: link (na verdade, é a configuração padrão do REDIS, exceto repl-backlog-size
, que eu aumentei para 100mb
para verificar se não vai ajudar, mas isso não aconteceu).
Este é um problema estranho, porque na primeira replicação / sincronização funciona bem no começo, mas, como eu disse, após 1-2 minutos a conexão mestre-escravo é perdida. Durante este tempo, nenhum comando redis / sentinel é executado em nenhuma instância. Acabei de começar 4 recipientes e os deixo por 1-2 minutos ...
Tags docker redis redis-sentinel