Redis Sentinel(哨兵)主从高可用方案

本文详细介绍了如何搭建Redis Sentinel主从环境,包括主从复制的配置与常见问题,重点讲解了Sentinel机制,包括其功能、原理、配置与启动,以及如何验证主从切换的故障转移,最后给出了Java操作Sentinel的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境搭建

三台服务器:
192.168.126.100(master)
192.168.126.110(slaver)
192.168.126.120(slaver)

拷贝192.168.126.100(主)服务器中的Redis到从机,保证Redis版本、环境一致:

scp -r redis-3.2.0/ root@192.168.126.110:/usr/local/ // 安装目录
scp -r redis/ root@192.168.126.110:/usr/local/ // 自定义配置、数据目录

scp -r redis-3.2.0/ root@192.168.126.120:/usr/local/
scp -r redis/ root@192.168.126.120:/usr/local/

主从复制 - 读写分离

Redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。

通过redis的复制功能可以很好的实现数据库的读写分离提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。

主从复制过程

这里写图片描述

过程:
1:当一个从数据库启动时,会向主数据库发送sync命令,
2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来
3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。
4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。

注意:redis2.8之前的版本:当主从数据库同步的时候从数据库因为网络原因断开重连后会重新执行上述操作,不支持断点续传。redis2.8之后支持断点续传。

配置

只需要修改两台从节点中redis的配置文件:
这里写图片描述

注意:如果主数据库设置了密码,需要在从数据的配置文件中通过masterauth参数设置主数据库的密码

效果

节点 效果
192.168.126.100(master) 这里写图片描述
192.168.126.110(slaver) 这里写图片描述这里写图片描述
192.168.126.120(slaver) 这里写图片描述这里写图片描述

常见问题

启动从节点的redis,可能出现以下错误:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值