Оригинальный Redis Master не становится "хорошим" рабом после аварийного переключения
Я установил кластер Redis HA с 3 узлами с мониторами Sentinel на каждом из узлов. У меня есть следующая конфигурация: RedisA - Мастер RedisB - Реплика RedisC - Реплика
с 3 Стражами, наблюдающими за Мастером. Все работает нормально (я держу всех стражей, так что проблем с кворумом нет):
- Я прекращаю процесс RedisA, и он переключается на RedisB для Master.
- Я останавливаю RedisB, и он переключается при сбое и делает RedisC master. Верните RedisA и RedisB, они станут Репликами, как и ожидалось.
- Я прекращаю RedisC, RedisB становится Мастером.
- Когда включены только RedisB и RedisA, я останавливаю RedisB. Но теперь RedisA НЕ становится мастером, и мой кластер HA выходит из строя.
Таким образом, все в порядке, кроме проблемы в том, что RedisA (первоначальный Мастер) не становится приемлемым рабом.
Любая помощь с благодарностью!
1 ответ
Я нашел свою проблему. Моя конфигурация имеет аутентификацию по паролю. Первоначальная конфигурация была настроена для обоих ведомых, но я не добавил ее к мастеру (так как он не нужен). Когда он перестал работать, мастер стал ведомым, но так как у него не был установлен пароль мастера, он не мог реплицироваться и, таким образом, дозорный мудро отказался выбрать его в качестве нового мастера после этого. Исправлено: добавление пароля мастера к моему оригинальному мастеру (RedisA).