Я настроил кластер Redis HA с 3 узлами с мониторами Sentinel на каждом из узлов. У меня есть следующая конфигурация: RedisA - Мастер RedisB - Реплика RedisC - Реплика

с 3 Стражами, наблюдающими за Мастером. Все работает нормально (я держу всех стражей, так что проблем с кворумом нет):

  1. Я прекращаю процесс RedisA, и он переключается на RedisB для Master.
  2. Я останавливаю RedisB, и он переключается при сбое и делает RedisC master. Верните RedisA и RedisB, они становятся репликами, как и ожидалось.
  3. Я прекращаю RedisC, RedisB становится Мастером.
  4. Только с RedisB и RedisA вверх, я останавливаюсь RedisB. Но теперь RedisA НЕ становится мастером, и мой кластер HA выходит из строя.

Таким образом, все в порядке, кроме проблемы в том, что RedisA (первоначальный Мастер) не становится приемлемым рабом.

Любая помощь очень ценится!

1 ответ1

0

Я нашел свою проблему. Моя конфигурация имеет аутентификацию по паролю. Первоначальная конфигурация была настроена для обоих ведомых, но я не добавил ее к мастеру (так как он не нужен). Когда он перестал работать, мастер стал ведомым, но так как у него не был установлен пароль мастера, он не мог реплицироваться и, таким образом, дозорный мудро отказался выбрать его в качестве нового мастера после этого. Исправлено: добавление пароля мастера к моему первоначальному мастеру (RedisA).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .