Redis一主一从两哨兵配置集群 以及主备切换(两台真机)
Redis 一主一从两哨兵服务器搭建
一、环境
服务器1:192.168.80.100
服务器2:192.168.80.101
Redis 版本:redis-6.2.7
备注:关闭服务器防火墙(踩过的坑)
systemctl disable firewalld
iptables -F
二、Redis配置
1、服务器1:192.168.80.100
vim redis-6.2.7/redis.conf
#允许访问的 IP和端口
bind * -::*
#端口号
port 6379
#开启保护模式
protected-mode yes
2、服务器2:192.168.80.101
vim redis-6.2.7/redis.conf
#限制访问IP
bind * -::*
#设置端口
port 6379
#开启保护模式
protected-mode yes
#跟随主服务器(重点)
slaveof 192.168.80.100 6379
重点:slaveof配置
三、哨兵配置
1、192.168.80.100
vim redis-6.2.7/sentinel.conf
#哨兵应用端口
port 26379
#关闭保护模式(此配置很重要,不配置将无法实现主从切换)
protected-mode no
#哨兵监控服务 当有1台宕机,即算宕机
sentinel monitor mymaster 192.168.80.100 6379 1
#选项指定了 Sentinel 认为服务器已经断线所需的毫秒数。(默认30秒)
sentinel down-after-milliseconds mymaster 3000
#向新的主节点发起复制操作的从节点个数,1轮询发起复制
sentinel parallel-syncs mymaster 1
#故障转移超时时间
sentinel failover-timeout mymaster 180000
2、192.168.80.101
#哨兵应用端口
port 26379
#关闭保护模式(此配置很重要,不配置将无法实现主从切换)
protected-mode no
#配置选举机制,哨兵时刻监控主服务器的6379端口,
#后面的“1”是当有一票认为它宕机以后就开始主从切换
sentinel monitor mymaster 192.168.80.100 6379 1
#选项指定了 Sentinel 认为服务器已经断线所需的毫秒数。(默认30秒)
sentinel down-after-milliseconds mymaster 3000
#向新的主节点发起复制操作的从节点个数,1轮询发起复制
sentinel parallel-syncs mymaster 1
#故障转移超时时间
sentinel failover-timeout mymaster 180000
注意:当前哨兵配置服务器是第一台的IP(192.168.80.100)
四、启动服务器测试
1、启动服务器
第一台Redis:./redis-6.2.7/src/redis-server /opt/redis/redis-6.2.7/redis.conf
第一台Sentinel:./redis-6.2.7/src/redis-sentinel /opt/redis/redis-6.2.7/sentinel.conf
第二台Redis:./redis-6.2.7/src/redis-server /opt/redis/redis-6.2.7/redis.conf
第二台Sentinel:./redis-6.2.7/src/redis-sentinel /opt/redis/redis-6.2.7/sentinel.conf
2、测试
1、Redis 哨兵状态
[root@192 src]# ./redis-cli -p 26379
127.0.0.1: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.80.100:6379,slaves=1,sentinels=2
关闭100服务器查看哨兵情况
127.0.0.1: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.80.101:6379,slaves=1,sentinels=2
2、写数据状态
关闭192.168.80.100服务器时
101服务写数据的对比
[root@192 src]# ./redis-cli -p 6379
127.0.0.1:6379> keys *
1) "a"
127.0.0.1:6379> set ab b
(error) READONLY You can't write against a read only replica.#关闭100Redis前不允许写入数据
127.0.0.1:6379> set ab b
Error: Server closed the connection
127.0.0.1:6379> set ab b
OK#关闭100Redis后允许写入数据
更多推荐
所有评论(0)