哨兵模式
- 配置
sentinel monitor host6379 127.0.0.1 6379 1
效果
6379
/ \
6380 6381开始初始化
3012:X 10 Aug 12:19:22.869 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 3012:X 10 Aug 12:19:22.895 # Sentinel ID is be7a67d65d8b8379ba801d407c1f887dd67121c5 3012:X 10 Aug 12:19:22.896 # +monitor master host6379 127.0.0.1 6379 quorum 1 3012:X 10 Aug 12:22:21.321 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379 3012:X 10 Aug 12:22:31.337 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6379
6379关闭
3012:X 10 Aug 12:24:29.456 # +sdown master host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:29.456 # +odown master host6379 127.0.0.1 6379 #quorum 1/1 3012:X 10 Aug 12:24:29.456 # +new-epoch 1 3012:X 10 Aug 12:24:29.456 # +try-failover master host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:29.486 # +vote-for-leader be7a67d65d8b8379ba801d407c1f887dd67121c5 1 3012:X 10 Aug 12:24:29.487 # +elected-leader master host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:29.488 # +failover-state-select-slave master host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:29.590 # +selected-slave slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:29.591 * +failover-state-send-slaveof-noone slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:29.676 * +failover-state-wait-promotion slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:30.043 # +promoted-slave slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:30.043 # +failover-state-reconf-slaves master host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:30.087 * +slave-reconf-sent slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:31.057 * +slave-reconf-inprog slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:31.057 * +slave-reconf-done slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:31.108 # +failover-end master host6379 127.0.0.1 6379 3012:X 10 Aug 12:24:31.108 # +switch-master host6379 127.0.0.1 6379 127.0.0.1 6380 3012:X 10 Aug 12:24:31.108 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6380 3012:X 10 Aug 12:24:31.108 * +slave slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6380 3012:X 10 Aug 12:25:01.112 # +sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6380
6379启动
3012:X 10 Aug 12:30:20.490 # -sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6380 3012:X 10 Aug 12:30:30.455 * +convert-to-slave slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6380
6379变成从
重启哨兵,并不会改变当前6380的主
3097:X 10 Aug 12:34:45.373 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 3097:X 10 Aug 12:34:45.373 # Redis version=4.0.1, bits=32, commit=00000000, modified=0, pid=3097, just started 3097:X 10 Aug 12:34:45.374 # Configuration loaded 3097:X 10 Aug 12:34:45.380 * Increased maximum number of open files to 10032 (it was originally set to 1024). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 4.0.1 (00000000/0) 32 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in sentinel mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 26379 | `-._ `._ / _.-' | PID: 3097 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 3097:X 10 Aug 12:34:45.382 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 3097:X 10 Aug 12:34:45.382 # Sentinel ID is be7a67d65d8b8379ba801d407c1f887dd67121c5 3097:X 10 Aug 12:34:45.382 # +monitor master host6379 127.0.0.1 6380 quorum 1
6380 关闭,选择6379位主
3097:X 10 Aug 12:39:07.493 # +sdown master host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:07.494 # +odown master host6379 127.0.0.1 6380 #quorum 1/1 3097:X 10 Aug 12:39:07.494 # +new-epoch 2 3097:X 10 Aug 12:39:07.494 # +try-failover master host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:07.518 # +vote-for-leader be7a67d65d8b8379ba801d407c1f887dd67121c5 2 3097:X 10 Aug 12:39:07.518 # +elected-leader master host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:07.519 # +failover-state-select-slave master host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:07.583 # +selected-slave slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:07.584 * +failover-state-send-slaveof-noone slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:07.656 * +failover-state-wait-promotion slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:08.016 # +promoted-slave slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:08.017 # +failover-state-reconf-slaves master host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:08.063 * +slave-reconf-sent slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:09.061 * +slave-reconf-inprog slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:09.061 * +slave-reconf-done slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:09.136 # +failover-end master host6379 127.0.0.1 6380 3097:X 10 Aug 12:39:09.136 # +switch-master host6379 127.0.0.1 6380 127.0.0.1 6379 3097:X 10 Aug 12:39:09.137 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6379 3097:X 10 Aug 12:39:09.137 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379