Loading

Windows系统搭建Redis集群三种模式(零坑、最新版)


主从复制


新建以下三个目录,用来部署一主二从

image

redis 的安装在另外一篇文章windows下Redis的安装和使用已经有作介绍,不清楚的可以移步参考。


修改配置文件

将redis安装目录下的所有文件复制一份于新建好的三个目录下,然后修改配置文件redis.windows.conf中的配置。

修改端口号

# 修改成对应的端口号
port 6379 

slave节点增加配置,注意master节点不用增加

# 本例子为slaveof 127.0.0.1 6380
slaveof <masterip> <masterport>  

启动各节点

每个目录下执行一下命名:

redis-server.exe  redis.windows.conf

master节点

image

slave_6381节点

image

slave_6382节点

image

也可以随便选择一个节点的,通过info replication命令查看主从关系

主节点

image

从节点

image


验证

通过redis-cli客户端连接主节点,插入一条数据

image

通过redis-cli客户端连接从节点,通过key值获取

slave_6381节点

image

slave_6382节点

image


哨兵模式


由于哨兵模式是在主从模式的基础上演变而来的,所以像上面的主从模式一样,先设置一主二从三个节点的,然后再添加跟节点数相同的三个哨兵节点,同样的,在每个目录下复制一份redis相关文件

image


修改配置文件

主从节点操作跟上面主从模式的介绍一样,不再赘述,每个哨兵主节点里新增配置文件sentinel.conf,以26383为例,示例配置如下:

protected-mode no
bind 127.0.0.1
port 26383
sentinel myid 22d1600671878f735c16130d3cb466ae38a61e8c
sentinel monitor mymaster 127.0.0.1 6383 1
sentinel down-after-milliseconds mymaster 3000

其他两个节点修改对应端口号即可,其他不变


启动实例

主从节点执行以下命令

redis-server.exe  redis.windows.conf

image
哨兵节点执行以下命令

redis-server.exe sentinel.conf --sentinel

image


验证

用客户端连接哨兵节点,执行一下命令,查看哨兵监控的集群信息

info sentinel

image

集群模式


以端口号新建如下文件夹,用于部署三主三从集群模式。同样的,在每个目录下复制一份redis的相关文件

image

windows的redis最新版本是3.x的,还不支持以redis-cli方式部署集群,所以需要下载Ruby并安装,可在ruby官网自行下载安装http://railsinstaller.org/en。下载完打开命令行执行gem install redis命令


修改配置文件

以7001节点为例,修改端口号

# 修改成对应的端口号
port 7001

开启redis集群模式的相关基础配置,

# 开启aof持久化模式
appendonly yes
# 开启集群模式
cluster-enabled yes 
# 配置节点日志文件
cluster-config-file nodes-7001.conf
# 节点超时时间
cluster-node-timeout 15000

启动实例

分别启动所有实例

image
执行redis-trib.rb脚本命令如下:

redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006

image


验证

同上。

ERR Node 127.0.0.1:7001 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or conta ins some key in database 0

sudo find ./ -name dump.rdb -type f -exec rm {} \
sudo find ./ -name appendonly.aof -type f -exec rm {} \;
sudo find ./ -name nodes-* -type f -exec rm {} \;


posted @ 2021-08-28 22:00  Acelin_H  阅读(1097)  评论(0编辑  收藏  举报