优秀的编程知识分享平台

网站首页 > 技术文章 正文

windows环境下,redis高可用部署方案,拿来即用

nanyue 2024-08-29 20:46:13 技术文章 6 ℃

环境准备

  1. 操作系统:windows 10
  2. redis版本:Redis server v=3.2.100 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=dd26f1f93c5130ee
  3. 节点与IP规划:192.168.0.1(主),192.168.0.2(从),192.168.0.3(从)

安装步骤

  • 修改主节点(192.168.0.1)redis.windows.conf配置信息,将port改成6379,如下图
  • 修改从节点(192.168.0.2)redis.windows.conf配置信息,如下图

修改端口

配置主从关联,如下图:

  • 修改从节点(192.168.0.3)redis.windows.conf配置信息,如下图

修改端口

配置主从关联,如下图:

  • 分别在三个节点上,通过命令行的方式启动redis-server,下图为主节点的启动

其他两个从节点的启动方式跟上面类似。另外,还可以将启动方式注册成windows服务,这样的话操作系统启动时,会自动启动redis相关的服务,避免人工干预。注册成服务的命令如下:

  • 通过命令验证redis主从配置,如下图:

大家在主节点上输入上面红框中的命令,如果看到两个从节点的信息,就说明主从配置正确。

上面的图,因为我是在同一台机器上部署了三个节点,所以显示的ip都是一样的,端口是不一样的。

  • 在主节点(192.168.0.1)和2个从节点上(192.168.0.2、192.168.0.3)上配置哨兵,增加sentinel.conf,用于监控三个节点的信息,配置文件如下
#Sentinel节点的端口

port 26379

dir "D:\\WorkSoft\\Redis6379\\data"

logfile "D:WorkSoftRedis6379Logs26379.log"

#当前Sentinel节点监控 192.168.0.1:6379 这个主节点

#2代表判断主节点失败至少需要2个Sentinel节点节点同意,注意每个节点的myid要唯一

sentinel myid 70a3e215c1a34b4d9925d170d9606e615a8874f2

#mymaster是主节点的别名

sentinel monitor mymaster 192.168.0.1 6379 2

#每个Sentinel节点都要定期PING命令来判断Redis数据节点和其余Sentinel节点是否可达,如果超过30000毫秒且没有回复,则判定不可达

sentinel config-epoch mymaster 2

#当Sentinel节点集合对主节点故障判定达成一致时

#Sentinel领导者节点会做故障转移操作,选出新的主节点,原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1

sentinel leader-epoch mymaster 2

#故障转移超时时间为180000毫秒

#两个从节点,注意,其他两个节点的配置,下面的两个ip是除掉本机以外的两个ip

sentinel known-slave mymaster 192.168.0.2 6379

sentinel known-slave mymaster 192.168.0.3 6379

#配置其他两个哨兵节点,注意,其他两个节点的配置,下面的两个ip是除掉本机以外的两个ip

sentinel known-sentinel mymaster 192.168.0.2 26379 70a3e215c1a34b4d9925d170d9606e615a8874f3

sentinel known-sentinel mymaster 192.168.0.3 26379 70a3e215c1a34b4d9925d170d9606e615a8874f4

sentinel current-epoch 2
  • 在三个节点上分别启动哨兵,命令如下:

redis-server sentinel.conf --sentinel

  • 验证哨兵配置,如下图

以上就是redis部署高可用方案,大家有啥问题,可以在评论区留言。谢谢!

Tags:

最近发表
标签列表