redis-sentinel安装配置

xiaoxiao2021-02-28  60

修改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
转载请注明原文地址: https://www.6miu.com/read-77665.html

最新回复(0)