当前位置: 首页 > news >正文

Redis哨兵集群搭建

文章目录
    • 1 为什么要使用哨兵模式
    • 2 哨兵模式的工作原理
    • 3 一主二从三哨兵搭建步骤
    • 4 测试该哨兵集群是否可用
    • 5 Spring Boot连接Redis哨兵集群

1 为什么要使用哨兵模式

主从模式下,主机会自动将数据同步到从机,为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务,写服务依然必须由Master来完成,实现读写分离。当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用

2 哨兵模式的工作原理

在主从模式下,redis同时提供了哨兵命令redis-sentinel,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵进程向所有的redis机器发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。

哨兵可以有多个,一般为了便于决策选举,使用奇数个哨兵。哨兵可以和redis机器部署在一起,也可以部署在其他的机器上。多个哨兵构成一个哨兵集群,哨兵直接也会相互通信,检查哨兵是否正常运行,同时发现master宕机哨兵之间会进行决策选举新的master。

3 一主二从三哨兵搭建步骤

  • 将redis文件复制三份到redis-sentinel目录下

    mkdir redis-sentinel

    cd redis-sentinel/

    cp -r /opt/redis-6.2.6/ .

    mv redis-6.2.6/ redis-6.2.6-5000/

因为我把redis-6.2.6/redis.conf被我复制到了/usr/local/bin/目录下,并进行了修改,并未使用redis-6.2.6/redis.conf,所以需要替换redis.conf文件

cd redis-6.2.6-5000/ rm -f redis.conf cp -r /usr/local/bin/redis.conf . cp -r . ../redis-6.2.6-5001/ cp -r . ../redis-6.2.6-5002/
  • 对于主节点(5000)

编辑redis.conf

vi /opt/redis-sentinel/redis-6.2.6-5000/redis.conf #只需要修改port port 5000

编辑sentinel.conf

vi /opt/redis-sentinel/redis-6.2.6-5000/sentinel.conf #修改port port 26380 #开启守护线程 daemonize yes #sentinel monitor <master-group-name> <ip> <port> <quorum> #master-group-name是集群名称 quorum是需要同意主节点不可用的Sentinel的数量 sentinel monitor mymaster ip 5000 2 #主节点密码 #sentinel auth-pass <master-name> <password> sentinel auth-pass mymaster 主节点密码


  • 对于两个从节点(5001,5002)

编辑redis.conf

#修改port(一个为5001,另一个为5002) port 5001 #主从复制 replicaof <masterip> <masterport> replicaof 主节点ip 主节点端口号 #主节点密码 masterauth <master-password> masterauth 主节点密码

编辑sentinel.conf

#修改port(一个为26381,另一个为26382) port 26381 #开启守护线程 daemonize yes #sentinel monitor <master-group-name> <ip> <port> <quorum> sentinel monitor mymaster ip 5000 2 #主节点密码 sentinel auth-pass mymaster 主节点密码

两个从节点的redis.conf只有端口号不相同,三个sentinel.conf也只有端口号不相同,主节点的redis.conf不需要设置replicaof和masterauth,否则复制自身会报错

4 测试该哨兵集群是否可用

  • 将master,slave,sentinel全都启动起来

    cd /usr/local/bin

master和slave启动方式

./redis-server /opt/redis-sentinel/redis-6.2.6-5000/redis.conf ./redis-server /opt/redis-sentinel/redis-6.2.6-5001/redis.conf ./redis-server /opt/redis-sentinel/redis-6.2.6-5002/redis.conf

sentinel启动方式

./redis-sentinel /opt/redis-sentinel/redis-6.2.6-5000/sentinel.conf ./redis-sentinel /opt/redis-sentinel/redis-6.2.6-5001/sentinel.conf ./redis-sentinel /opt/redis-sentinel/redis-6.2.6-5002/sentinel.conf
  • 主从复制,slave只读,master宕机哨兵决策选举新的master均测试成功,由于测试过程不好呈现,故不在文中列出

Redis关闭指定端口

redis-cli -a 该端口节点密码 -p 端口号 shutdown

5 Spring Boot连接Redis哨兵集群

spring: redis: password: # 主节点密码 sentinel: master: mymaster #集群名称 nodes: #只需要配置哨兵 ip:port 列表 - localhost:port1 - localhost:port2 - localhost:port3

http://www.jsqmd.com/news/227019/

相关文章:

  • 智能实体抽取实战:RaNER模型WebUI应用全解析
  • Redis——Windows安装
  • HY-MT1.5实战:构建多语言问答系统
  • Redis和Redis-Desktop-Manager的下载、安装与使用
  • HY-MT1.5术语一致性保障:大型项目翻译管理
  • STM32CubeMX安装结合HAL库在工控中的实际应用
  • HY-MT1.5-7B微调教程:领域自适应训练部署全流程
  • 从单机到分布式:高等教育AI智能体的架构演进之路
  • 解锁大数据领域数据共享的创新应用场景
  • redis7 for windows的安装教程
  • Day18-20260110
  • NX微控制器抽象层开发核心要点解析
  • HY-MT1.5-7B实战教程:解释性翻译场景优化,GPU利用率提升50%
  • 智能体是否在欺骗用户?上海 AI Lab港科大浙大揭示LLM智能体的主动隐瞒与造假现象
  • 数据湖中的数据治理:如何实现数据血缘追踪?
  • Redis6.2.6下载和安装
  • Redis内存设置
  • AI实体侦测服务多租户:SaaS化部署与隔离方案
  • 2026年多语言AI落地入门必看:HY-MT1.5开源翻译模型+弹性GPU部署指南
  • redis内存突然暴增,排查思路是什么
  • 一文说清STM32CubeMX安装步骤在工控中的应用
  • 购物推荐网站信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • Redis为什么这么快?Redis的线程模型与Redis多线程
  • HY-MT1.5-1.8B实战教程:低成本高精度翻译部署
  • nx时钟域配置实战:基于NXP平台的操作指南
  • redis 使用
  • 会议纪要自动整理:AI智能实体侦测服务发言人识别实战案例
  • HY-MT1.5如何实现方言识别?五种民族语言翻译技术解析
  • 从零开始:构建物联网大数据平台的完整指南
  • SpringBoot+Vue 知识管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】