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后允许写入数据

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值