Я пытаюсь настроить автоматическую систему аварийного восстановления в кластере с тремя узлами redis. Я установил redis-sentinel на каждом из этих узлов (juste, как этот парень: http://www.symantec.com/connect/blogs/configuring-redis-high-availability). Все в порядке, пока у меня есть два или три узла. Проблема в том, что всякий раз, когда остается только оставшийся узел, и что он является подчиненным, он не выбирается автоматически как главный. Кворум установлен в 1, поэтому последний узел обнаруживает опускание мастера, но не может голосовать за переход на другой ресурс, поскольку нет большинства.Redis Sentinel: последний узел не становится мастером
Чтобы преодолеть эту (удивительную) проблему, я написал небольшой скрипт, который запрашивает другие узлы для своих мастеров, и если они не отвечают, я устанавливаю текущий узел как главный. Этот скрипт вызывается в файле redis-sentinel.conf в качестве сценария уведомления. Однако ... Как только служба redis-sentinel запускается, эта конфигурация «стирается»! Если посмотреть на файл конфигурации в/и т.д., линия «сторожевого уведомление-скрипт» исчез (Redis-дозорный переписывает свой конфигурационный файл, так почему нет) НО конфигурации я написал больше не доступны:
1) 1) "name"
2) "mymaster"
3) "ip"
4) "x.x.x.x"
5) "port"
6) "6379"
7) "runid"
8) "somerunid"
9) "flags"
10) "master"
11) "pending-commands"
12) "0"
13) "last-ping-sent"
14) "0"
15) "last-ok-ping-reply"
16) "395"
17) "last-ping-reply"
18) "395"
19) "down-after-milliseconds"
20) "30000"
21) "info-refresh"
22) "674"
23) "role-reported"
24) "master"
25) "role-reported-time"
26) "171302"
27) "config-epoch"
28) "0"
29) "num-slaves"
30) "1"
31) "num-other-sentinels"
32) "1"
33) "quorum"
34) "1"
35) "failover-timeout"
36) "180000"
37) "parallel-syncs"
38) "1"
Это результат команды сторожевого мастера. Единственное, что я ранее устанавливал «down-after-milliseconds» до 5000, а «failover-timeout» - 10000 ...
Я не знаю, встретил ли кто-нибудь подобное? Ну, если у кого-то есть небольшая идея о том, что происходит, я был бы рад этому;)
Что вы делаете, чтобы преодолеть эту проблему, можете ли вы рассказать мне, что это будет действительно действительно искусно, я столкнулся с такой же проблемой и ничего не получил? –