Redis Sentinel не может перейти через подчиненный сервис - PullRequest
0 голосов
/ 14 марта 2020

Я собираюсь развернуть простой кластер Redis Master-Slave с двумя серверами: 192.168.0.101, 192.168.0.103, и 101 - это мастер.

- это sentinel.conf на 103 сервере:

port 26379

bind 192.168.0.103 127.0.0.1

sentinel myid 49f552d5540fdcb8aa60be25208c56b689d3c0b0
sentinel monitor mymaster 192.168.0.101 6379 2
sentinel down-after-milliseconds mymaster 60000
sentinel failover-timeout mymaster 900000

sentinel auth-pass mymaster arsenal

sentinel config-epoch mymaster 0

# Generated by CONFIG REWRITE
dir "/etc/redis"
sentinel leader-epoch mymaster 3
sentinel known-slave mymaster 192.168.0.103 6379

sentinel current-epoch 3

и мой redis.conf на сервере 103:

bind 127.0.0.1 ::1
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
daemonize yes
supervised no

dbfilename dump.rdb
dir /var/lib/redis
slaveof device1 6379
masterauth arsenal
slave-serve-stale-data yes
slave-read-only yes

slave-priority 100
requirepass arsenal

slave-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no

activerehashing yes

aof-rewrite-incremental-fsync yes

Я начал с дозорного на 192.168.0.103 с redis-server sentinel.conf --sentinel

7951:X 14 Mar 14:19:48.479 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
7951:X 14 Mar 14:19:48.479 # Sentinel ID is 49f552d5540fdcb8aa60be25208c56b689d3c0b0
7951:X 14 Mar 14:19:48.479 # +monitor master mymaster 192.168.0.101 6379 quorum 2

7951:X 14 Mar 14:20:48.480 # +sdown slave 192.168.0.103:6379 192.168.0.103 6379 @ mymaster 192.168.0.101 6379
7951:X 14 Mar 14:21:11.577 # +sdown master mymaster 192.168.0.101 6379

Мой дозорный вызов такой :

sentinel = Sentinel([('device3', 26379)], password='arsenal')

sentinel.discover_master('mymaster')

MasterNotFoundError: No master found for 'mymaster'

Проблема в том, что после того, как я попытался остановить службу redis-server на 101, страж не может переключить сервер 103 в качестве главного.

У кого есть идеи? спасибо.

1 Ответ

0 голосов
/ 14 марта 2020
  1. В вашей конфигурации sentinel monitor mymaster 192.168.0.101 6379 2 кворум равен 2, что означает, что только два или более двух Стражей считают, что мастер отключен, могут запускаться при сбое.

  2. См. Redis Sentinel do c, только три или более трех Sentinel могут быть развернуты стабильно, если у вас есть только один Sentinel, он не может выбрать лидер (который получает голоса большинства), чтобы начать аварийное переключение.

...