Ручная отработка отказа через Sentinel и очистка топологии
RedisSentinelКоманда
# First check quorum and an eligible replica:
redis-cli -p 26379 SENTINEL CKQUORUM mymaster
redis-cli -p 26379 SENTINEL REPLICAS mymaster
# Manual failover without waiting for agreement from other sentinels:
redis-cli -p 26379 SENTINEL FAILOVER mymaster
# Verify the new master (must be the same on all sentinels):
redis-cli -p 26379 SENTINEL GET-MASTER-ADDR-BY-NAME mymaster
# If old/removed replicas remain listed, reset sentinels one at a time, 30 s apart:
redis-cli -p 26379 SENTINEL RESET mymasterЧто делает
Передаёт роль мастера наиболее подходящей реплике даже при здоровом мастере; затем проверяет новый мастер и удаляет из памяти sentinel уже не существующие реплики.
Когда использовать
Перед плановым обслуживанием хоста мастера, во время учений по отработке отказа или при переносе мастера в другой ЦОД.
Внимание
Во время отработки отказа запись прерывается на несколько секунд, и данные, записанные на мастер, но ещё не реплицированные, могут быть потеряны. Реплики с replica-priority 0 никогда не выбираются; если подходящей реплики нет, команда возвращает ошибку. Если SENTINEL RESET выполнить на всех sentinel одновременно, сведения о топологии временно теряются; выполняйте на каждом по отдельности и с интервалом. Убедитесь, что клиенты используют драйвер, запрашивающий адрес мастера у Sentinel.