Redis哨兵实现高可用

​ Sentinel(哨兵)进程是用于监控redis主从关系中的Master主机的状态,在Master主服务器发生故障的时候,可以实现Master和Slave服务器的切换,保证了redis服务器的高可用。

Sentinel(哨兵)进程的工作方式:

​ 1. Sentinel(哨兵)进程使用ping-pong机制以每秒钟一次的频率对Master主服务器进行监测,同时哨兵可以通过主服务器获取到从服务器的信息。

​ 2. 如果哨兵距离最后一次有效回复 PING-PONG 命令的时间超过 down-after-milliseconds 选项所指定的值, 则这个Master主服务器会被 Sentinel(哨兵)认为宕机了。

​ 3.当主服务器宕机后,哨兵通过投票(所有的哨兵参与投票)从节点服务器(从服务器)中选出一台服务器作为主机服务器,并将其他从机的主从关系(redis.conf文件)修改为新主机,此外将宕机的主服务器的主从关系修改为新服务器(旧主机修改为从机,当旧主机修复重启后作为从机).

Redis哨兵(Sentinel)的配置:
  1. 新建sentinel文件夹,并复制以下内容;在这里插入图片描述

  2. 使用命令vim sentinel.conf对哨兵进行配置(哨兵的默认端口为26379):

    ​ (1)关闭保护模式;在这里插入图片描述
    ​ (2)后台启动改为yes;在这里插入图片描述
    ​ (3)修改哨兵监听的主机(mymaster);在这里插入图片描述
    ​ (4)配置主机宕机后哨兵等待多长时间开始推选主机;在这里插入图片描述
    ​ (5)配置哨兵等待被推选主机开始工作时间,超过此事件被推选主机没有开始工作,则重写推选;在这里插入图片描述
    3.分别修改每一个xxx.conf为6379,6380,6381;
    在这里插入图片描述
    4.进入需要配置为从服务器的redis客户端,使用以下命令将从机挂载到指定主机:

   slaveof  挂载主机的ip  挂载主机的端口号
   如: slaveof 192.168.161.128 6379(这里将6379当做主机)

同理,将6381挂载到6379.conf主机上;
5.使用如下命令启动哨兵;

redis-sentinel sentinel.conf

至此,哨兵高可用搭建完成。

redis常用命令:
1.启动redis服务: redis-server redis.conf
2.关闭redis服务: redis-cli -p 端口号 shutdown
3.进入redis客户端: redis-cli -p 端口号
4.退出redis客户端: ctrl+c或exit
5.从机挂载主机(在从机客户端操作): slaveof 主机IP 主机端口
6.查看主从关系(在客户端操作): info replication
7.启动redis哨兵: redis-sentinel sentinel.conf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值