Redis Sentinel: принудительное переключение на другого мастера

Контекст:

У меня 3 узла redis и 3 стража. Отработка отказа работает правильно. Когда я снимаю мастера, избирается другой мастер.

Необходимость:

Мне нужен способ проверить поведение, чтобы убедиться, что все работает как положено. Я хотел бы заставить дозорных выбрать конкретный узел Redis, чтобы быть мастером.

Я думаю, что я мог бы сделать это, убрав два узла, которые не должны быть мастерскими, но я бы хотел просто дать команду одному из стражей, чтобы решить мою проблему.

ТЛ; др:

Могу ли я дать указание моим стражам выбрать конкретный узел redis в качестве главного?

1 ответ

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

Имитация зависания на серверах Redis:

redis-cli DEBUG sleep 30

или же

redis-cli DEBUG segfault

Затем принудительное переключение при сбое:

SENTINEL failover

Возможно, лучшим подходом является использование опции приоритета.

С https://redis.io/topics/sentinel

Приоритеты рабов

У экземпляров Redis есть параметр конфигурации, который называется slave-priority. Эта информация предоставляется ведомыми экземплярами Redis в их выходных данных INFO, и Sentinel использует ее, чтобы выбрать подчиненное устройство из тех, которые можно использовать для переключения при отказе мастера:

Если приоритет подчиненного устройства равен 0, ведомое устройство никогда не повышается до ведущего. Sentinel предпочитает рабов с более низким номером приоритета.

Например, если есть подчиненный S1 в том же центре обработки данных текущего ведущего устройства и другой подчиненный S2 в другом центре обработки данных, можно установить S1 с приоритетом 10 и S2 с приоритетом 100, так что если Ведущий отказывает, и оба S1 и S2 доступны, S1 будет предпочтительным.

Для получения дополнительной информации о том, как выбираются ведомые устройства, пожалуйста, проверьте раздел выбора ведомого и приоритета этой документации.

Другие вопросы по тегам