修改sentinel.conf配置:
port 26379
daemonize yes
dir /tmp
logfile "/var/log/redis_26379.log"
sentinel monitor mymaster 192.168.4.70 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 900000
port 26379 #监听的端口
daemonize yes #以守护进程模式启动
dir /tmp
logfile "/var/log/redis_26379.log"
sentinel monitor mymaster 192.168.4.70 6379 2
#192.168.241.150是master redis的IP地址和端口,2是代表2个sentinel检测到异常,才判断是real fail. Mymaster主机组的名称可以随便定义
sentinel down-after-milliseconds mymaster 30000
#指定sentinel监控到redis实例持续异常多长时间后,会判决其状态为down。
若实际业务需要sentinel尽快判决出redis实例异常,则可适当配小,单位是毫秒
sentinel can-failover mymaster yes
#在sentinel检测到O_DOWN后,是否对这台redis启动failover机制
sentinel parallel-syncs mymaster 1
#执行故障转移时,最多可以有多少个从服务器同时对新的主服务器进行同步,这个数字越小,完成故障转移所需的时间就越长,
但越大就意味着越多的从服务器因为复制而不可用。可以通过将这个值设为 1 来保证每次只有一个从服务器处于不能处理命令请求的状态。
sentinel failover-timeout mymaster 900000
#若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败
sentinel auth-pass master1rot@minunix
#当redis访问都需要密码的时候,即在redis.conf有配置requirepass项的时候,需要定义此项
sentinel notification-script master1/data/scripts/send_mail.sh
#当sentinel触发时,切换主从状态时,需要执行的脚本。当主down的时候可以通知当事人,
启动sentinel后,再次查看sentinel.conf配置文件,可以看到已经加入了redis replication的内容
port 26379
daemonize yes
dir "/tmp"
logfile "/var/log/redis_26379.log"
sentinel myid f6758d9931f1a3f4da6caa2d809182bf0a586a27
sentinel monitor mymaster 192.168.4.71 6382 1
sentinel failover-timeout mymaster 90000
sentinel config-epoch mymaster 1
# Generated by CONFIG REWRITE
sentinel leader-epoch mymaster 1
sentinel known-slave mymaster 192.168.4.70 6380
sentinel known-slave mymaster 192.168.4.70 6379
sentinel known-slave mymaster 192.168.4.70 6381
sentinel current-epoch 1
这里可以看到主服务器是192.168.4.71 6382,和其他所有的从服务器
[root@redis2 redis-4.0.1]# tail -f /var/log/redis_26379.log
11242:X 31 Aug 09:10:13.957 * +reboot slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
11242:X 31 Aug 09:10:14.019 # -sdown slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
11242:X 31 Aug 09:10:23.982 * +convert-to-slave slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
12280:X 31 Aug 09:11:49.805 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12280:X 31 Aug 09:11:49.805 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=12280, just started
12280:X 31 Aug 09:11:49.805 # Configuration loaded
12281:X 31 Aug 09:11:49.807 * Increased maximum number of open files to 10032 (it was originally set to 1024).
12281:X 31 Aug 09:11:49.807 * Running mode=sentinel, port=26379.
12281:X 31 Aug 09:11:49.808 # Sentinel ID is f6758d9931f1a3f4da6caa2d809182bf0a586a27
12281:X 31 Aug 09:11:49.808 # +monitor master mymaster 192.168.4.70 6379 quorum 1
12281:X 31 Aug 09:12:57.790 # +sdown master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.790 # +odown master mymaster 192.168.4.70 6379 #quorum 1/1
12281:X 31 Aug 09:12:57.791 # +new-epoch 1
12281:X 31 Aug 09:12:57.791 # +try-failover master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.800 # +vote-for-leader f6758d9931f1a3f4da6caa2d809182bf0a586a27 1
12281:X 31 Aug 09:12:57.800 # +elected-leader master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.800 # +failover-state-select-slave master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.876 # +selected-slave slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.876 * +failover-state-send-slaveof-noone slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.959 * +failover-state-wait-promotion slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.963 # +promoted-slave slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.963 # +failover-state-reconf-slaves master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:58.044 * +slave-reconf-sent slave 192.168.4.70:6380 192.168.4.70 6380 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:58.998 * +slave-reconf-inprog slave 192.168.4.70:6380 192.168.4.70 6380 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:58.999 * +slave-reconf-done slave 192.168.4.70:6380 192.168.4.70 6380 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:59.053 * +slave-reconf-sent slave 192.168.4.70:6381 192.168.4.70 6381 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:13:00.024 * +slave-reconf-inprog slave 192.168.4.70:6381 192.168.4.70 6381 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:13:00.024 * +slave-reconf-done slave 192.168.4.70:6381 192.168.4.70 6381 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:13:00.099 # +failover-end master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:13:00.099 # +switch-master mymaster 192.168.4.70 6379 192.168.4.71 6382 这里显示master切换到了192.168.4.71 6382
12281:X 31 Aug 09:13:00.100 * +slave slave 192.168.4.70:6380 192.168.4.70 6380 @ mymaster 192.168.4.71 6382
12281:X 31 Aug 09:13:00.100 * +slave slave 192.168.4.70:6381 192.168.4.70 6381 @ mymaster 192.168.4.71 6382
12281:X 31 Aug 09:13:00.100 * +slave slave 192.168.4.70:6379 192.168.4.70 6379 @ mymaster 192.168.4.71 6382
12281:X 31 Aug 09:13:30.197 # +sdown slave 192.168.4.70:6379 192.168.4.70 6379 @ mymaster 192.168.4.71 6382
重新启动之前的master:192.168.4.70:6379,这里:
12281:X 31 Aug 09:14:47.079 # -sdown slave 192.168.4.70:6379 192.168.4.70 6379 @ mymaster 192.168.4.71 6382
12281:X 31 Aug 09:14:57.085 * +reboot slave 192.168.4.70:6379 192.168.4.70 6379 @ mymaster 192.168.4.71 6382
12281:X 31 Aug 09:14:57.085 * +convert-to-slave slave 192.168.4.70:6379 192.168.4.70 6379 @ mymaster 192.168.4.71 6382
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.4.70,port=6380,state=online,offset=26163,lag=1
slave1:ip=192.168.4.70,port=6381,state=online,offset=26163,lag=1
master_replid:f6b6ffe7b428a15aada8f86e2e3879959e21591c
master_replid2:37e382db607fd2bb5fd293fb4833796b51d41105
master_repl_offset:26302
second_repl_offset:22874
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15038
repl_backlog_histlen:11265
查看redis复制的状态:
[root@redis2 redis-4.0.1]# src/redis-cli -h 192.168.4.71 -p 6382 info replication
# Replication
role:master
connected_slaves:3
slave0:ip=192.168.4.70,port=6380,state=online,offset=172287,lag=0
slave1:ip=192.168.4.70,port=6381,state=online,offset=172287,lag=0
slave2:ip=192.168.4.70,port=6379,state=online,offset=172287,lag=0
master_replid:f6b6ffe7b428a15aada8f86e2e3879959e21591c
master_replid2:37e382db607fd2bb5fd293fb4833796b51d41105
master_repl_offset:172287
second_repl_offset:22874
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15038
repl_backlog_histlen:157250
查看sentinel的状态:
[root@redis2 redis-4.0.1]# redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.4.71:6382,slaves=3,sentinels=1
查看sentinel监控的所有master:
[root@redis2 redis-4.0.1]# redis-cli -p 26379 sentinel masters
1) 1) "name"
2) "mymaster"
3) "ip"
4) "192.168.4.71"
5) "port"
6) "6382"
7) "runid"
8) "ac7f6ba04c07054cdd26adb9db9f8e5fb8a292d4"
9) "flags"
10) "master"
11) "link-pending-commands"
12) "0"
13) "link-refcount"
14) "1"
15) "last-ping-sent"
16) "0"
17) "last-ok-ping-reply"
18) "370"
19) "last-ping-reply"
20) "370"
21) "down-after-milliseconds"
22) "30000"
23) "info-refresh"
24) "1559"
25) "role-reported"
26) "master"
27) "role-reported-time"
28) "2220743"
29) "config-epoch"
30) "1"
31) "num-slaves"
32) "3"
33) "num-other-sentinels"
34) "0"
35) "quorum"
36) "1"
37) "failover-timeout"
38) "90000"
39) "parallel-syncs"
40) "1"
强制进行主从切换:
[root@redis2 redis-4.0.1]# redis-cli -p 26379 sentinel failover mymaster
OK
[root@redis2 redis-4.0.1]# redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.4.70:6379,slaves=3,sentinels=1
192.168.4.70:6379又变成主服务器了,它有3个slave,这里只有一个sentinel
[root@redis2 redis-4.0.1]# redis-cli -p 26379 sentinel failover mymaster
OK
[root@redis2 redis-4.0.1]# redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.4.71:6382,slaves=3,sentinels=1
192.168.4.71:6382又变成主服务器了,它有3个slave,这里只有一个sentinel
获取当前的主master的名称或者地址端口
[root@redis2 redis-4.0.1]# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
1) "192.168.4.71"
2) "6382"
[root@redis2 redis-4.0.1]# redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.4.70:6380,slaves=3,sentinels=3
[root@redis2 redis-4.0.1]# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
1) "192.168.4.70"
2) "6380"
[root@redis2 redis-4.0.1]# redis-cli -p 26378 sentinel get-master-addr-by-name mymaster
1) "192.168.4.70"
2) "6380"
[root@redis2 redis-4.0.1]# redis-cli -p 26380 sentinel get-master-addr-by-name mymaster
1) "192.168.4.70"
2) "6380"
sentinel集群配置:
port 26378
daemonize yes
dir /tmp
logfile "/var/log/redis_26378.log"
sentinel monitor mymaster 192.168.4.70 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 900000
port 26379
daemonize yes
dir /tmp
logfile "/var/log/redis_26379.log"
sentinel monitor mymaster 192.168.4.70 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 900000
port 26380
daemonize yes
dir /tmp
logfile "/var/log/redis_26380.log"
sentinel monitor mymaster 192.168.4.70 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 900000
port 26379
daemonize yes
dir /tmp
logfile "/var/log/redis_26379.log"
sentinel monitor mymaster 192.168.4.70 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 900000
port 26379 #监听的端口
daemonize yes #以守护进程模式启动
dir /tmp
logfile "/var/log/redis_26379.log"
sentinel monitor mymaster 192.168.4.70 6379 2
#192.168.241.150是master redis的IP地址和端口,2是代表2个sentinel检测到异常,才判断是real fail. Mymaster主机组的名称可以随便定义
sentinel down-after-milliseconds mymaster 30000
#指定sentinel监控到redis实例持续异常多长时间后,会判决其状态为down。
若实际业务需要sentinel尽快判决出redis实例异常,则可适当配小,单位是毫秒
sentinel can-failover mymaster yes
#在sentinel检测到O_DOWN后,是否对这台redis启动failover机制
sentinel parallel-syncs mymaster 1
#执行故障转移时,最多可以有多少个从服务器同时对新的主服务器进行同步,这个数字越小,完成故障转移所需的时间就越长,
但越大就意味着越多的从服务器因为复制而不可用。可以通过将这个值设为 1 来保证每次只有一个从服务器处于不能处理命令请求的状态。
sentinel failover-timeout mymaster 900000
#若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败
sentinel auth-pass master1rot@minunix
#当redis访问都需要密码的时候,即在redis.conf有配置requirepass项的时候,需要定义此项
sentinel notification-script master1/data/scripts/send_mail.sh
#当sentinel触发时,切换主从状态时,需要执行的脚本。当主down的时候可以通知当事人,
启动sentinel后,再次查看sentinel.conf配置文件,可以看到已经加入了redis replication的内容
port 26379
daemonize yes
dir "/tmp"
logfile "/var/log/redis_26379.log"
sentinel myid f6758d9931f1a3f4da6caa2d809182bf0a586a27
sentinel monitor mymaster 192.168.4.71 6382 1
sentinel failover-timeout mymaster 90000
sentinel config-epoch mymaster 1
# Generated by CONFIG REWRITE
sentinel leader-epoch mymaster 1
sentinel known-slave mymaster 192.168.4.70 6380
sentinel known-slave mymaster 192.168.4.70 6379
sentinel known-slave mymaster 192.168.4.70 6381
sentinel current-epoch 1
这里可以看到主服务器是192.168.4.71 6382,和其他所有的从服务器
[root@redis2 redis-4.0.1]# tail -f /var/log/redis_26379.log
11242:X 31 Aug 09:10:13.957 * +reboot slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
11242:X 31 Aug 09:10:14.019 # -sdown slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
11242:X 31 Aug 09:10:23.982 * +convert-to-slave slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
12280:X 31 Aug 09:11:49.805 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12280:X 31 Aug 09:11:49.805 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=12280, just started
12280:X 31 Aug 09:11:49.805 # Configuration loaded
12281:X 31 Aug 09:11:49.807 * Increased maximum number of open files to 10032 (it was originally set to 1024).
12281:X 31 Aug 09:11:49.807 * Running mode=sentinel, port=26379.
12281:X 31 Aug 09:11:49.808 # Sentinel ID is f6758d9931f1a3f4da6caa2d809182bf0a586a27
12281:X 31 Aug 09:11:49.808 # +monitor master mymaster 192.168.4.70 6379 quorum 1
12281:X 31 Aug 09:12:57.790 # +sdown master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.790 # +odown master mymaster 192.168.4.70 6379 #quorum 1/1
12281:X 31 Aug 09:12:57.791 # +new-epoch 1
12281:X 31 Aug 09:12:57.791 # +try-failover master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.800 # +vote-for-leader f6758d9931f1a3f4da6caa2d809182bf0a586a27 1
12281:X 31 Aug 09:12:57.800 # +elected-leader master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.800 # +failover-state-select-slave master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.876 # +selected-slave slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.876 * +failover-state-send-slaveof-noone slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.959 * +failover-state-wait-promotion slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.963 # +promoted-slave slave 192.168.4.71:6382 192.168.4.71 6382 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:57.963 # +failover-state-reconf-slaves master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:58.044 * +slave-reconf-sent slave 192.168.4.70:6380 192.168.4.70 6380 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:58.998 * +slave-reconf-inprog slave 192.168.4.70:6380 192.168.4.70 6380 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:58.999 * +slave-reconf-done slave 192.168.4.70:6380 192.168.4.70 6380 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:12:59.053 * +slave-reconf-sent slave 192.168.4.70:6381 192.168.4.70 6381 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:13:00.024 * +slave-reconf-inprog slave 192.168.4.70:6381 192.168.4.70 6381 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:13:00.024 * +slave-reconf-done slave 192.168.4.70:6381 192.168.4.70 6381 @ mymaster 192.168.4.70 6379
12281:X 31 Aug 09:13:00.099 # +failover-end master mymaster 192.168.4.70 6379
12281:X 31 Aug 09:13:00.099 # +switch-master mymaster 192.168.4.70 6379 192.168.4.71 6382 这里显示master切换到了192.168.4.71 6382
12281:X 31 Aug 09:13:00.100 * +slave slave 192.168.4.70:6380 192.168.4.70 6380 @ mymaster 192.168.4.71 6382
12281:X 31 Aug 09:13:00.100 * +slave slave 192.168.4.70:6381 192.168.4.70 6381 @ mymaster 192.168.4.71 6382
12281:X 31 Aug 09:13:00.100 * +slave slave 192.168.4.70:6379 192.168.4.70 6379 @ mymaster 192.168.4.71 6382
12281:X 31 Aug 09:13:30.197 # +sdown slave 192.168.4.70:6379 192.168.4.70 6379 @ mymaster 192.168.4.71 6382
重新启动之前的master:192.168.4.70:6379,这里:
12281:X 31 Aug 09:14:47.079 # -sdown slave 192.168.4.70:6379 192.168.4.70 6379 @ mymaster 192.168.4.71 6382
12281:X 31 Aug 09:14:57.085 * +reboot slave 192.168.4.70:6379 192.168.4.70 6379 @ mymaster 192.168.4.71 6382
12281:X 31 Aug 09:14:57.085 * +convert-to-slave slave 192.168.4.70:6379 192.168.4.70 6379 @ mymaster 192.168.4.71 6382
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.4.70,port=6380,state=online,offset=26163,lag=1
slave1:ip=192.168.4.70,port=6381,state=online,offset=26163,lag=1
master_replid:f6b6ffe7b428a15aada8f86e2e3879959e21591c
master_replid2:37e382db607fd2bb5fd293fb4833796b51d41105
master_repl_offset:26302
second_repl_offset:22874
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15038
repl_backlog_histlen:11265
查看redis复制的状态:
[root@redis2 redis-4.0.1]# src/redis-cli -h 192.168.4.71 -p 6382 info replication
# Replication
role:master
connected_slaves:3
slave0:ip=192.168.4.70,port=6380,state=online,offset=172287,lag=0
slave1:ip=192.168.4.70,port=6381,state=online,offset=172287,lag=0
slave2:ip=192.168.4.70,port=6379,state=online,offset=172287,lag=0
master_replid:f6b6ffe7b428a15aada8f86e2e3879959e21591c
master_replid2:37e382db607fd2bb5fd293fb4833796b51d41105
master_repl_offset:172287
second_repl_offset:22874
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15038
repl_backlog_histlen:157250
查看sentinel的状态:
[root@redis2 redis-4.0.1]# redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.4.71:6382,slaves=3,sentinels=1
查看sentinel监控的所有master:
[root@redis2 redis-4.0.1]# redis-cli -p 26379 sentinel masters
1) 1) "name"
2) "mymaster"
3) "ip"
4) "192.168.4.71"
5) "port"
6) "6382"
7) "runid"
8) "ac7f6ba04c07054cdd26adb9db9f8e5fb8a292d4"
9) "flags"
10) "master"
11) "link-pending-commands"
12) "0"
13) "link-refcount"
14) "1"
15) "last-ping-sent"
16) "0"
17) "last-ok-ping-reply"
18) "370"
19) "last-ping-reply"
20) "370"
21) "down-after-milliseconds"
22) "30000"
23) "info-refresh"
24) "1559"
25) "role-reported"
26) "master"
27) "role-reported-time"
28) "2220743"
29) "config-epoch"
30) "1"
31) "num-slaves"
32) "3"
33) "num-other-sentinels"
34) "0"
35) "quorum"
36) "1"
37) "failover-timeout"
38) "90000"
39) "parallel-syncs"
40) "1"
强制进行主从切换:
[root@redis2 redis-4.0.1]# redis-cli -p 26379 sentinel failover mymaster
OK
[root@redis2 redis-4.0.1]# redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.4.70:6379,slaves=3,sentinels=1
192.168.4.70:6379又变成主服务器了,它有3个slave,这里只有一个sentinel
[root@redis2 redis-4.0.1]# redis-cli -p 26379 sentinel failover mymaster
OK
[root@redis2 redis-4.0.1]# redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.4.71:6382,slaves=3,sentinels=1
192.168.4.71:6382又变成主服务器了,它有3个slave,这里只有一个sentinel
获取当前的主master的名称或者地址端口
[root@redis2 redis-4.0.1]# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
1) "192.168.4.71"
2) "6382"
[root@redis2 redis-4.0.1]# redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.4.70:6380,slaves=3,sentinels=3
[root@redis2 redis-4.0.1]# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
1) "192.168.4.70"
2) "6380"
[root@redis2 redis-4.0.1]# redis-cli -p 26378 sentinel get-master-addr-by-name mymaster
1) "192.168.4.70"
2) "6380"
[root@redis2 redis-4.0.1]# redis-cli -p 26380 sentinel get-master-addr-by-name mymaster
1) "192.168.4.70"
2) "6380"
sentinel集群配置:
port 26378
daemonize yes
dir /tmp
logfile "/var/log/redis_26378.log"
sentinel monitor mymaster 192.168.4.70 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 900000
port 26379
daemonize yes
dir /tmp
logfile "/var/log/redis_26379.log"
sentinel monitor mymaster 192.168.4.70 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 900000
port 26380
daemonize yes
dir /tmp
logfile "/var/log/redis_26380.log"
sentinel monitor mymaster 192.168.4.70 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 900000