Redis三种部署模式(二、哨兵模式:Sentinel)

原理什么的就不写了,哨兵模式是在主从模式上追加了哨兵

我这里选了三台服务器:

172.1.1.1设为主机;172.1.1.2和172.1.1.3设为从机

一、主机节点172.1.1.1修改Redis.conf配置

#bind进行注释
#bind 127.0.0.1
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#redis的端口
port 6379
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /opt/tools/redis/run/redis.pid
#设置redis日志文件路径
logfile /opt/tools/redis/logs/redis.log
#设置Redis文件存储目录
dir /opt/tools/redis/data
#设置Redis密码
requirepass Re9Dis9?a
#配置主节点redis的密码,尽可能和主节点一致;主要用来重启时连接新选举的master用
masterauth Re9Dis9?a
#开启Redis持久化AOF
appendonly yes
#修改完保存启动
#查看log/redis.log日志,如下

二、从节点172.1.1.2修改Redis.conf配置

#bind进行注释
#bind 127.0.0.1
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#redis的端口
port 6379
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /home/tools/redis/run/redis.pid
#设置redis日志文件路径
logfile /home/tools/redis/logs/redis.log
#设置Redis文件存储目录
dir /home/tools/redis/data
#设置Redis密码
requirepass Re9Dis9?a
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#设置从节点的主节点地址
replicaof 172.1.1.1 16379
#开启Redis持久化AOF
appendonly yes
#修改完保存启动
#查看log/redis.log日志,如下

三、从节点172.1.1.3修改Redis.conf配置

#bind进行注释
#bind 127.0.0.1
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#redis的端口
port 6379
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /home/tools/redis/run/redis.pid
#设置redis日志文件路径
logfile /home/tools/redis/logs/redis.log
#设置Redis文件存储目录
dir /home/tools/redis/data
#设置Redis密码
requirepass Re9Dis9?a
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#设置从节点的主节点地址
replicaof 172.1.1.1 16379
#开启Redis持久化AOF
appendonly yes
#修改完保存启动
#查看log/redis.log日志,如下

以上,部署完主从复制Redis节点后开始部署哨兵

四、三个节点部署哨兵节点

修改Redis的conf文件夹下的sentinel.conf文件

#端口号
port 26379
#设置yes,开启线程守护后台运行
daemonize yes
#pid文件路径
pidfile "/home/tools/sentinel/run/sentinel-26379.pid"
#日志文件路径
logfile "/home/tools/sentinel/logs/26379.log"
#文件存储目录路径
dir "/opt/tools/sentinel/data"
#主节点ip 端口 哨兵数,注:这里三节点,哨兵填2 这里三节点的ip都填一样的,不是一个哨兵监控当前服务器的
sentinel monitor mymaster 172.1.1.1 16379 2
#主节点Redis密码
sentinel auth-pass mymaster Re9Dis9?a

启动三个哨兵节点:

./bin/redis-sentinel conf/sentinel.conf

查看启动后的三台Redis状态

172.1.1.1

 

172.1.1.2

 

172.1.1.3

 五、验证哨兵模式是否正常及故障节点恢复

1.停掉主节点的Redis,注:不停止Sentinel

1.1监控master的sentinel日志;自动选举其他节点为新master(图没有了请以实际操作监控为准)

1.2登录对应新选举为master的服务器redis查看;选举master成功

1.3修复故障的Redis节点, 并重启;重启完后再重启对应节点上的Sentinel

 1.4再次登录重新选举后的master节点Redis查看,可以看到修复的节点再次接入并成为了从节点

 1.5查看原master节点信息,已经变成了slave

 补充说明:

如何将appendonly.aof持久化文件里面的数据恢复到redis数据库中?

首先保证持久化原来是开启的

恢复Redis后,然后将appendonly.aof这个文件放到redis-cli的同级目录下,然后断开连接,重启redis服务,重新连接redis客户端,这样就可以吧appendonly.aof文件中的内容给恢复

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值