在主从模式的Redis系统中,从数据库在整个系统中起到了数据
冗余备份和读写分离的作用,但是当数据库遇到异常中断服务后,我们只能通过手动的方式选择一个从数据库来升格为主数据库,显然这种方式很麻烦需要人工介入,这时通过哨兵模式可以实现自动化的系统监控和故障恢复。
哨兵模式
什么是哨兵:哨兵的作用是监控Redis系统的运行状态,功能包括以下两个:
监控主数据库和从数据库是否正常运行
主数据库出现故障时自动将从数据库转换为主数据库,在一主多从的Redis系统中,可以使用多个哨兵进行监控任务以保证系统的问题。
实现哨兵模式
一、配置一主两从
主服务器IP 192.168.117.81
从服务器1IP 192.168.117.82
从服务器2IP 192.168.117.83
二、安装redis
可以编译安装或者yum安装,yum安装简单点,一条命令即可解决,yum -y install redis
修改redis.conf配置
#这里假设配置
1
主
2
从
3
哨兵 主机地址:
192.168
.
0.0
从机地址:
192.168
.
0.1
,
192.168
.
0.2
# 主机修改redis配置文件:vi /etc/redis.conf
#
1
. 修改绑定ip为服务器内网ip地址,做绑定,三台各自填写各自的ip地址
bind
192.168
.
0.0
#
2
. 保护模式修改为否,允许远程连接
protected
-mode no
#
4
. 设定密码
requirepass ok
#
5
. 设定主库密码与当前库密码同步,保证从库能够提升为主库
masterauth ok
#
6
. 打开AOF持久化支持
appendonly yes
#从机同主机相同 bind主机地址
slaveof
192.168
.
0.0
6379
修改哨兵redis-sentinel.conf 配置
#三台机器都修改vi /etc/redis-sentinel.conf配置
#禁止保护模式
protected
-mode no
#配置监听的主服务器,这里 sentinel monitor 代表监控
#mymaster代表服务器名称,可以自定义
#
192.168
.
0.0
代表监控的主服务器
#
6379
代表端口
#
2
代表只有两个或者两个以上的哨兵认为主服务器不可用的时候,才会做故障切换操作
sentinel monitor mymaster
192.168
.
0.0
6379
2
#sentinel auth-pass 定义服务的密码
#mymaster服务名称
#ok Redis服务器密码
#注意 这句话必须放在sentinel monitor mymaster 下面否则会报错
sentinel auth-pass mymaster ok
发表评论