Windows下搭建Redis哨兵集群模式的方法步骤

 更新时间:2023年09月22日 09:03:38   作者:苦瓜不苦077  
哨兵模式,是基于主从复制模式,主从复制的优点全都拥有,并且主从可以实现自动切换,故障转移等功能,本文主要介绍了Windows下搭建Redis哨兵集群模式的方法步骤,文中通过图文介绍的非常详细,感兴趣的小伙伴们可以参考一下,需要的朋友可以参考下

哨兵模式简介

哨兵模式,是基于主从复制模式,主从复制的优点全都拥有,并且主从可以实现自动切换,故障转移等功能,系统的可用性更好,哨兵模式其实就是主从模式的升级版,手动到自动切换,更加健壮。

其缺点是不好在线扩容,集群容量如果达到上限,扩容麻烦

image.png

图上则是一主二从三哨兵的架构图

最终搭建好的Redis Sentinel集群模式目录是如下

image.png

6379端口是主节点,6380和6381端口是从节点,每个节点下都存在一个哨兵。

实现搭建

首先下载到window系统redis安装包(注意:版本必须在2.8以上,redis2.8版本之后的才支持redis sentinel集群模式)

复制出三份redis,文件夹分别以redis+端口号命名

image.png

主节点-6379-配置

修改redis.windows.conf配置文件,大概在40行上下,修改端口为6379.

image.png

创建哨兵,其次再新建一个sentinel.conf文件,将里面的port端口修改为26379

# 哨兵sentinel实例运行的端口
port 26379
# 本地ip
bind 127.0.0.1
# 哨兵监听的主服务器 后面的1表示主机挂掉以后进行投票,只需要2票就可以从机变主机
sentinel monitor mymaster 127.0.0.1 6379 2
# 设置主机的密码(无密码可以省略)
# sentinel auth-pass mymaster admin
# 设置未得到主机响应时间,此处代表5秒未响应视为宕机
sentinel down-after-milliseconds mymaster 5000
# 设置等待主机活动时间,此处代表15秒主机未活动,则重新选举主机
sentinel failover-timeout mymaster 15000
# 设置重新选举主机后,同一时间同步数据的从机数量,此处代表重新选举主机后,每次2台从机同步主机数据,直到所有从机同步结束
sentinel config-epoch mymaster 2
# 执行故障转移时, 最多有2个从服务器同时对新的主服务器进行同步
sentinel leader-epoch mymaster 2

从节点-6380-配置

修改redis.windows.conf配置文件,大概在40行上下,修改端口为6380,并且大概在200行新增一个 slaveof 127.0.0.1 6379 ,监听主节点。

image.png

image.png

创建哨兵,其次再新建一个sentinel.conf文件,将里面的port端口修改为26380,其他配置不动

# 哨兵sentinel实例运行的端口
port 26380
# 本地ip
bind 127.0.0.1
# 哨兵监听的主服务器 后面的1表示主机挂掉以后进行投票,只需要2票就可以从机变主机
sentinel monitor mymaster 127.0.0.1 6379 2
# 设置主机的密码(无密码可以省略)
# sentinel auth-pass mymaster admin
# 设置未得到主机响应时间,此处代表5秒未响应视为宕机
sentinel down-after-milliseconds mymaster 5000
# 设置等待主机活动时间,此处代表15秒主机未活动,则重新选举主机
sentinel failover-timeout mymaster 15000
# 设置重新选举主机后,同一时间同步数据的从机数量,此处代表重新选举主机后,每次2台从机同步主机数据,直到所有从机同步结束
sentinel config-epoch mymaster 2
# 执行故障转移时, 最多有2个从服务器同时对新的主服务器进行同步
sentinel leader-epoch mymaster 2

从节点-6381-配置

修改redis.windows.conf配置文件,大概在40行上下,修改端口为6381,并且大概在200行新增一个 slaveof 127.0.0.1 6379 ,监听主节点。

image.png

image.png

创建哨兵,其次再新建一个sentinel.conf文件,将里面的port端口修改为26381,其他配置不动

# 哨兵sentinel实例运行的端口
port 26381
# 本地ip
bind 127.0.0.1
# 哨兵监听的主服务器 后面的1表示主机挂掉以后进行投票,只需要2票就可以从机变主机
sentinel monitor mymaster 127.0.0.1 6379 2
# 设置主机的密码(无密码可以省略)
# sentinel auth-pass mymaster admin
# 设置未得到主机响应时间,此处代表5秒未响应视为宕机
sentinel down-after-milliseconds mymaster 5000
# 设置等待主机活动时间,此处代表15秒主机未活动,则重新选举主机
sentinel failover-timeout mymaster 15000
# 设置重新选举主机后,同一时间同步数据的从机数量,此处代表重新选举主机后,每次2台从机同步主机数据,直到所有从机同步结束
sentinel config-epoch mymaster 2
# 执行故障转移时, 最多有2个从服务器同时对新的主服务器进行同步
sentinel leader-epoch mymaster 2

启动哨兵

分别cd到三个文件夹目录下打开cmd窗口,使用 redis-server.exe ./redis.windows.conf 启动三个主从redis服务

image.png

image.png

image.png

等三个redis服务启动成功之后,接着使用 redis-server.exe ./sentinel.conf --sentinel 启动三个哨兵

image.png

image.png

image.png

查询当前节点是否主节点

cd进入当前redis目录下cmd开启黑窗口, redis-cli.exe -h 127.0.0.1 -p 6379 登录redis客户端

命令 info replication 查看

image.png

查看哨兵的状态

命令 redis-cli.exe -p 26379 进入客户端

命令 info sentinel 查看

可以看出sentinel状态正常,能够检测到redis的2个从节点,3个哨兵

image.png

image.png

宕机测试

将6379端口的主节点redis关闭,模拟宕机的情况。

哨兵投票选举出新的从节点升为主节点。

image.png

当6379重新启动之后,自动降为从节点

image.png

SpringBoot集成Redis哨兵模式

maven配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
spring:
  redis:
    password: xxx
    database: 0
    sentinel:
      password: xxx
      master: mymaster
      nodes:
        - 127.0.0.1:26379
        - 127.0.0.1:26380
        - 127.0.0.1:26381
    lettuce:
      pool:
        min-idle: 3
        max-idle: 8
        max-active: 15
        max-wait: 10000

以上就是Windows下搭建Redis哨兵集群模式的方法步骤的详细内容,更多关于Windows搭建Redis哨兵集群的资料请关注脚本之家其它相关文章!

相关文章

  • 详解Redis中的List是如何实现的

    详解Redis中的List是如何实现的

    List 的 Redis 中的 5 种主要数据结构之一,它是一种序列集合,可以存储一个有序的字符串列表,顺序是插入的顺序,本文将给大家介绍了一下Redis中的List是如何实现的,需要的朋友可以参考下
    2024-05-05
  • Redis实现分布式队列浅析

    Redis实现分布式队列浅析

    Redis将数据存储在内存中,使得读写速度非常快,经常被用来做缓存系统,这里我们将redis用来做一个分布式的消息队列。这篇文章主要介绍了使用redis来作为消息队列,并且进行分布式主从配置,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2016-11-11
  • redis启动,停止,及端口占用处理方法

    redis启动,停止,及端口占用处理方法

    今天小编就为大家分享一篇redis启动,停止,及端口占用处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Redis教程(十):持久化详解

    Redis教程(十):持久化详解

    这篇文章主要介绍了Redis教程(十):持久化详解,本文讲解了Redis提供了哪些持久化机制、RDB机制的优势和劣势、AOF机制的优势和劣势、其它等内容,需要的朋友可以参考下
    2015-04-04
  • 如何基于Session实现短信登录功能

    如何基于Session实现短信登录功能

    对比起Cookie,Session是存储在服务器端的会话,相对安全,并且不像Cookie那样有存储长度限制,下面这篇文章主要给大家介绍了关于如何基于Session实现短信登录功能的相关资料,需要的朋友可以参考下
    2022-10-10
  • Redis处理高并发之布隆过滤器详解

    Redis处理高并发之布隆过滤器详解

    这篇文章主要为大家介绍了Redis处理高并发之布隆过滤器详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Redis源码分析之set 和 sorted set 使用

    Redis源码分析之set 和 sorted set 使用

    本文介绍了Redis 中的 set 和 sorted set 使用源码实现分析,Redis 的 Set 是 String 类型的无序集合,集合成员是唯一的,sorted set有序集合和集合一样也是 string 类型元素的集合,对Redis set 和 sorted set使用相关知识感兴趣的朋友一起看看吧
    2022-03-03
  • React中immutable的使用

    React中immutable的使用

    这篇文章主要介绍了React中immutable的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Windows环境下打开Redis闪退的解决方案

    Windows环境下打开Redis闪退的解决方案

    每次使用完Redis后,我们习惯性的动作是直接叉掉doc页面,这样导致的结果是Redis在后台继续运行,没有关闭,所以当再次打开的时候直接闪退,文中有详细的解决方案,需要的朋友可以参考下
    2024-03-03
  • 浅谈Redis变慢的原因及排查方法

    浅谈Redis变慢的原因及排查方法

    本文主要介绍了浅谈Redis变慢的原因及排查方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论