クラスタフェールオーバー中にソフトウェアの動作をテストしようとしているため、最も単純なクラスタを構成したいと考えています。私は、ツリーファイル7000.conf持っている - 以下の内容の7002.confを:Redisクラスタフェールオーバー:スレーブがマスターにならない
port 7000
cluster-config-file nodes.7000.conf
appendfilename appendonly.7000.aof
dbfilename dump.7000.rdb
pidfile /var/run/redis_7000.pid
include cluster.conf
cluster.confのの内容:私は7000こと、その後設定した
cluster-enabled yes
appendonly yes
maxclients 100
daemonize yes
cluster-node-timeout 2000
cluster-slave-validity-factor 0
0から16383までのすべてのスロットを実行し、7001および7002は7000のレプリカです。
XXX 127.0.0.1:7002 slave YYY 0 1511389011347 4 connected
YYY 127.0.0.1:7000 myself,master - 0 0 4 connected 0-16383
ZZZ 127.0.0.1:7001 slave YYY 0 1511389011246 4 connected
それから私はshutdown
コマンド、またはプロセスを殺すことによって7000を取り除こうとします。奴隷の一つは、マスターに自分自身を促進すべきであるが、どれもしません:
ZZZ 127.0.0.1:7001 slave YYY 0 0 3 connected
YYY 127.0.0.1:7000 master,fail? - 1511389104442 1511389103933 4 disconnected 0-16383
XXX 127.0.0.1:7002 myself,slave YYY 0 1511389116543 4 connected
私のような分間待ってました、そして私の奴隷が主人になることを望んでいません。もし私がスレーブをcluster failover takeover
でマスターにすることを強制すると、そうするのは喜ばしいことです(マスターを再起動するとスレーブになります)が、自動的にはなりません。
私はcluster-node-timeout
で試してみましたが、お役に立てません。
何か間違っていますか? Redisのバージョンは3.2.11です。