redis哨兵

sentinel主要功能如下:

  • 不时的监控redis是否良好运行,如果节点不可达就会对节点进行下线标识
  • 如果被标识的是主节点,sentinel就会和其他的sentinel节点“协商”,如果其他节点也人为主节点不可达,就会选举一个sentinel节点来完成自动故障转义
  • 在master-slave进行切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换


3.2 redis sentinel配置步骤

3.2.1 配置三个redis数据库, 一主两从
redis-6380.conf
redis-6381.conf
redis-6382.conf
3.2.2 启动三个redis数据库,确保主从复制正常运行
redis-server redis-6380.conf
redis-server redis-6381.conf
redis-server redis-6382.conf
redis-cli -p 6380 info replication
redis-cli -p 6381 info replication
redis-cli -p 6382 info replication
3.2.3 配置三个哨兵
cd /opt/redis_conf
vim redis-sentinel-26380.conf
vim redis-sentinel-26381.conf
vim redis-sentinel-26382.conf

写入以下配置文件

port 26380
dir /data/26380
logfile "26380.log"
sentinel monitor qishimaster 127.0.0.1 6380 2  # 2表示需要几个哨兵同意选举
sentinel down-after-milliseconds qishimaster 60000
sentinel parallel-syncs qishimaster 1
sentinel failover-timeout qishimaster 180000
daemonize yes

哨兵配置文件详解:

# Sentinel节点的端口
port 26379  
dir /var/redis/data/
logfile "26379.log"

# sentinel announce-ip 127.0.0.1   # 宣告哨兵IP, 此配置只有当使用非127.0.0.1的IP配置哨兵无法成功时加上,同时redis三个服务端也需要同步修改IP

# 当前Sentinel节点监控 127.0.0.1:6379 这个主节点
# 2代表判断主节点失败至少需要2个Sentinel节点节点同意
# mymaster是主节点的别名
sentinel monitor mymaster 127.0.0.1 6379 2

# 每个Sentinel节点都要定期PING命令来判断Redis数据节点和其余Sentinel节点是否可达,如果超过30000毫秒30s且没有回复,则判定不可达
sentinel down-after-milliseconds mymaster 30000

# 当Sentinel节点集合对主节点故障判定达成一致时,Sentinel领导者节点会做故障转移操作,选出新的主节点,原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1
sentinel parallel-syncs mymaster 1

# 故障转移超时时间为180000毫秒
sentinel failover-timeout mymaster 180000

daemonize yes

创建存放哨兵文件的目录

mkdir -p /data/{26380,26381,26382}

如果发现哨兵没有正常启动,必须把IP改为127.0.0.1

如果你是在三个不同的机器上,只能用机器对外访问的IP,那就需要添加这一个配置

sentinel announce-ip 127.0.0.1
3.2.4 启动三个哨兵
[root@qishi666 redis_conf]# redis-sentinel redis-26380.conf
[root@qishi666 redis_conf]# redis-sentinel redis-26381.conf
[root@qishi666 redis_conf]# redis-sentinel redis-26382.conf
3.2.5 此时查看哨兵是否成功通信


3.2.6 如果出现问题,没有配置成功,没有显示前面这几条配置成功的信息,就推倒重来

如果出现问题,没有配置成功,没有显示前面这几条配置成功的信息,就推倒重来!!!!!!

如果出现问题,没有配置成功,没有显示前面这几条配置成功的信息,就推倒重来!!!!!!

从配置主从同步开始做!!!!!

3.2.7 验证redis高可用故障切换

大致思路

  • 杀掉主节点的redis进程6379端口,观察从节点是否会进行新的master选举,进行切换
  • 重新恢复旧的“master”节点,查看此时的redis身份

首先查看三个redis的进程状态

再把6380启动起来,查看他们的主从状态

posted @ 2020-11-02 23:22  我在路上回头看  阅读(134)  评论(0编辑  收藏  举报