redis哨兵模式说明与搭建详解

 更新时间:2023年01月26日 14:03:23   作者:王云召  
这篇文章主要介绍了redis哨兵模式说明与搭建详解,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

哨兵模式是redis高可用的一种解决方案。

哨兵必须用三个实例取保证自己的高可用,但是哨兵+主从模式是不能保证消息不丢失的。

为什么用三个来保证呢?

假设现在有两个服务器,第一台有redis主节点M1,和哨兵S1,第二台有redis从节点S2,哨兵S2。

如果M1宕机,S1和S2中只要有1个哨兵认为master宕机就可以还行切换,此时哨兵大多数(我理解的大多数的过半)还在运行,那么S1,S2能通过选举,拿出来一个哨兵进行故障转移。

如果第一个服务器整个宕机,M1,S1都已经死掉了,此时S2发现M1宕机,但是哨兵只有一个了,不满足大多数的机器存活,无法选举,就没有办法来执行故障转移。虽然另外一台机器还有一个R1,但是故障转移不会执行。

经典的是三节点的哨兵集群

如果M1所在机器宕机了,那么三个哨兵还剩下2个,S2和S3可以一致认为master宕机,然后选举出一个来执行故障转移。

同时3个哨兵的大多数是2,所以还剩下的2个哨兵运行着,就可以允许执行故障转移。

接下来谈一谈怎么做哨兵

首先我们需要搭建个一主两从的redis,单个节点的redis安装链接如下

redis安装包下载地址Redis

我们可以将单个redis安装三次(6381为主机,6380,6379为从机),然后修改配置文件

1.配置redis.conf文件中的端口号分别为6379,6380,6381,

2.daemonize均为yes

3.6380和6379 均添加slaveof 127.0.0.1 6379  (我是在一台服务器上安装的,若不是一台服务器,ip换为redis主机ip)

 分别使用./src/redis-server ./myredis/redis.conf 命令启动redis。

启动后使用./src/redis-cli -p 6379 -h 127.0.0.1 连接redis的客户端  (ip和端口换成自己的)

再执行info Replication,即可看到主从状态 

三台状态如下

 

主从就搭建好了。

接下来配置哨兵

将刚刚的文件redis-6379 复制三份,分别重命名为sentinel-26379,sentinel-26380,sentinel-26381

然后分别修改三个文件的配置文件sentinel.conf 

#端口号 (换成相应sentinel的端口号)
port 26379 
 
#守护进程,后台启动
daemonize yes
 
#监测redis集群的主机
sentinel monitor mymaster 127.0.0.1 6381 1

 修改完毕之后使用./src/sentinel-server ./sentinel.conf启动,成功后,

使用./src/resic-cli -p 26379 命令连接sentinel(其他两个也可以使用这个连接),成功后,使用info命令,可以看到监听的redis集群状态

到此这篇关于redis哨兵模式详解的文章就介绍到这了,更多相关redis哨兵模式详解内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • Redis实现短信登录的企业实战

    Redis实现短信登录的企业实战

    本文主要介绍了Redis实现短信登录的企业实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Redis核心原理与实践之字符串实现原理

    Redis核心原理与实践之字符串实现原理

    这本书深入地分析了Redis常用特性的内部机制与实现方式,内容源自对Redis源码的分析,并从中总结出设计思路、实现原理。对Redis字符串实现原理相关知识感兴趣的朋友一起看看吧
    2021-09-09
  • Redis之SDS数据结构的使用

    Redis之SDS数据结构的使用

    本文主要介绍了Redis之SDS数据结构的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 详解Redis缓存与Mysql如何保证双写一致

    详解Redis缓存与Mysql如何保证双写一致

    缓存和数据库如何保证数据的一致是个很经典的问题,这篇文章就来和大家一起探讨一下Redis缓存与Mysql如何保证双写一致,感兴趣的小伙伴可以参考下
    2023-12-12
  • redis-copy使用6379端口无法连接到Redis服务器的问题

    redis-copy使用6379端口无法连接到Redis服务器的问题

    这篇文章主要介绍了redis-copy使用6379端口无法连接到Redis服务器的问题的相关资料,需要的朋友可以参考下
    2023-05-05
  • redis在Windows中下载及安装、设置教程

    redis在Windows中下载及安装、设置教程

    这篇文章主要介绍了Windows中redis的下载及安装、设置教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Redis突现拒绝连接问题处理方案

    Redis突现拒绝连接问题处理方案

    这篇文章主要介绍了Redis突现拒绝连接问题处理方案,分析原因是由于redis与业务共一个服务器,内存只有8G,业务服务启动过多,内存不足导致redis拒绝连接,需要的朋友可以参考下
    2024-02-02
  • 关于分布式锁的三种实现方式

    关于分布式锁的三种实现方式

    这篇文章主要介绍了关于分布式锁的三种实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Win10配置redis服务实现过程详解

    Win10配置redis服务实现过程详解

    这篇文章主要介绍了Win10配置redis服务实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Redis命令处理过程源码解析

    Redis命令处理过程源码解析

    这篇文章主要介绍了Redis命令处理过程源码解析,本文是基于社区版redis4.0.8,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02

最新评论

?


http://www.vxiaotou.com