redis哨兵搭建


在上一篇文章redis主从实现的情况下实现哨兵 故障 master自动切换

redis服务器配置:

master 192.168.51.65

slave 192.168.51.67 

1、master创建sentinel.conf配置文件

logfile "/home/zmoon/redis-5.0.12/sentinel.log"
daemonize yes
# 本机ip
bind 192.168.51.65 127.0.0.1
port 26379
# 主机点ip
sentinel myid ef2d4b006899967bde76f4e3ff664ff192862bb0
# 这里的密码是指 Redis-1 的 requirepass
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 192.168.51.67 6380 2
sentinel auth-pass mymaster Xunmeizongmu_2019

2.slave创建sentinel.conf配置文件

logfile "/home/zmoon/redis-5.0.12/sentinel.log"
daemonize yes
# 本机ip
bind 192.168.51.67 127.0.0.1
port 26379
# 主机点ip
sentinel myid 9a923b1dac5c1ae11fb765b06edb09d32b1b1243
# 这里的密码是指 Redis-1 的 requirepass
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 192.168.51.67 6380 2
sentinel auth-pass mymaster Xunmeizongmu_2019

3.启动哨兵

SUSE65:/home/zmoon/redis-5.0.12/bin # ./redis-sentinel ../sentinel.conf 
SUSE65:/home/zmoon/redis-5.0.12/bin # 

测试:

关闭master redis 查看日志 master正常切换到slave去了 

SUSE65:/home/zmoon/redis-5.0.12 # tail -f -n100 sentinel.log 
11790:X 28 Apr 2022 17:10:54.561 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
11790:X 28 Apr 2022 17:10:54.561 # Redis version=5.0.12, bits=64, commit=00000000, modified=0, pid=11790, just started
11790:X 28 Apr 2022 17:10:54.562 # Configuration loaded
11791:X 28 Apr 2022 17:10:54.565 * Running mode=sentinel, port=26379.
11791:X 28 Apr 2022 17:10:54.565 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
11791:X 28 Apr 2022 17:10:54.774 # Sentinel ID is ef2d4b006899967bde76f4e3ff664ff192862bb0
11791:X 28 Apr 2022 17:10:54.774 # +monitor master mymaster 192.168.51.65 6379 quorum 2
11791:X 28 Apr 2022 17:10:54.776 * +slave slave 192.168.51.67:6380 192.168.51.67 6380 @ mymaster 192.168.51.65 6379
11791:X 28 Apr 2022 17:15:17.898 # +sdown master mymaster 192.168.51.65 6379
11791:X 28 Apr 2022 17:15:56.391 * +reboot master mymaster 192.168.51.65 6379
11791:X 28 Apr 2022 17:15:56.457 # -sdown master mymaster 192.168.51.65 6379
11791:X 28 Apr 2022 17:18:46.041 # +sdown master mymaster 192.168.51.65 6379
11791:X 28 Apr 2022 17:23:02.530 * +reboot master mymaster 192.168.51.65 6379
11791:X 28 Apr 2022 17:23:02.584 # -sdown master mymaster 192.168.51.65 6379
11791:X 28 Apr 2022 17:23:04.073 * +sentinel sentinel 9a923b1dac5c1ae11fb765b06edb09d32b1b1243 192.168.51.67 26379 @ mymaster 192.168.51.65 6379
11791:X 28 Apr 2022 17:24:25.580 # +sdown master mymaster 192.168.51.65 6379
11791:X 28 Apr 2022 17:24:25.788 # +new-epoch 1
11791:X 28 Apr 2022 17:24:25.843 # +vote-for-leader 9a923b1dac5c1ae11fb765b06edb09d32b1b1243 1
11791:X 28 Apr 2022 17:24:26.460 # +config-update-from sentinel 9a923b1dac5c1ae11fb765b06edb09d32b1b1243 192.168.51.67 26379 @ mymaster 192.168.51.65 6379
11791:X 28 Apr 2022 17:24:26.460 # +switch-master mymaster 192.168.51.65 6379 192.168.51.67 6380
11791:X 28 Apr 2022 17:24:26.460 * +slave slave 192.168.51.65:6379 192.168.51.65 6379 @ mymaster 192.168.51.67 6380
11791:X 28 Apr 2022 17:24:56.525 # +sdown slave 192.168.51.65:6379 192.168.51.65 6379 @ mymaster 192.168.51.67 6380
11791:X 28 Apr 2022 17:50:46.753 # -sdown slave 192.168.51.65:6379 192.168.51.65 6379 @ mymaster 192.168.51.67 6380

通过对slave redis进行写测试

SUSE67:/home/zmoon/redis-5.0.12/bin # ./redis-cli -p 6380 -a Xunmeizongmu_2019
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6380> SET key "value"
(error) READONLY You can't write against a read only replica.
127.0.0.1:6380> SET key "value"
OK
127.0.0.1:6380> SET key "value"
OK
127.0.0.1:6380> 

可以看到 当关闭master redis后 slave写入成功

至此 哨兵搭建完成