Window下搭建Redis集群

Window下搭建Redis集群
搭建含三个节点的集群,每个节点有一主一备。

1、部署
1、Redis下载
1)、下载
https://github.com/MSOpenTech/redis/releases

2)、解压
解压 Redis .zip 文件,重命名为redis。

2、修改配置
1)、修改 redis.windows.conf
修改以下配置支持集群

cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
appendonly yes

2)、新建 start.bat
编写一个 bat 来启动 redis,内容如下:

redis-server.exe redis.windows.conf

3)、复制节点
将 Redis 解压后文件复制出 5 份,配置三主三从集群。 分别重命名为 master6379、master6380,master6381,slave6382,slave6383,slave6384。(实际主备不安文件名区分)


3、安装Ruby
1)、下载
https://rubyinstaller.org/downloads/


2)、安装
双击《rubyinstaller-2.3.3-x64.exe》开始安装。

安装时3个选项都勾选

3)、测试
命令窗口执行:。

ruby -v

正常显示 ruby 版本表示安装成功


4、安装Ruby驱动
1)、下载
https://rubygems.org/pages/download

2)、安装
解压文件,命令窗口切换到解压目录,执行:

ruby setup.rb

gem 安装 Redis,命令窗口切换到 Redis 安装目录,执行:

gem install redis

3)、测试
命令窗口执行:

gem -v

正常显示版本号表示安装成功。


5、复制 《redis-trib.rb》 脚本
1)、下载 redis 源码
http://www.redis.net.cn/download/

2)、复制
redis-trib 位于 Redis 源码的 src 文件夹中,将其复制到任一 redis 节点目录下

6、启动集群
1)、启动Redis服务
启动每个节点下的 start.bat 脚本

2)、启动集群
切换到redis目录在命令窗口中执行:

redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

输入

yes

7、测试
从客户端的查看集群的信息,cluster_state为true表示启动成功。

cluster info

查看节点信息

cluster nodes

至此环境搭建完成。

8、重启集群
1、备份所有节点 .aof .rdb nodes_xx.conf 三个文件
2、启动所有节点
3、创建集群

9、集群动态扩展
1)、增加一个主节点(todo)
①、将需要添加的新节点启动
②、将新节点添加到集群中(默认为主节点,但无哈希槽)
格式:redis-trib.rb add-node 新节点ip:port 原任意一个节点ip:port

redis-trib.rb add-node 127.0.0.1:6385 127.0.0.1:6379
redis-trib.rb add-node 127.0.0.1:6386 127.0.0.1:6379

③、客户端查看
cluster nodes

④、移动哈希槽,选中任意一个 redis 服务即可
redis-trib.rb reshard 127.0.0.1:6379

需要移动多少哈希槽,输入

1000

移动到哪个节点,输入新节点的ID


指定移动哪几个点的哈希槽

1、all:所有的主节点中随机转移,凑够1000个哈希槽,然后输入 yes

【存在问题,见问题2】


2、ID + done:指定主节点移动

2、增加一个从节点
1)、将已存在节点设为从节点 或 修改从节点的主节点
redis-cli -c -p 6386 cluster replicate <master node-id>

2)、新增一个节点设为从节点
redis-trib.rb add-node --slave --master-id <master node-id> 127.0.0.1:6386 127.0.0.1:6379

3、删除主节点
1)、将主节点中哈希槽移动到其他主节点
2)、删除主节点
redis-trib del-node 127.0.0.1:6385 <master node-id>

4、删除从节点
从节点绑定的主节点被删除后,cluster nodes 命令显示从节点的ID由主节点ID改成从节点ID。

redis-trib del-node 127.0.0.1:6385 <slavenode-id>

2、问题
1、window redis集群动态扩展时,redis3.2.100 哈希槽移动失败。
 ———————————————— 
版权声明:本文为CSDN博主「Always Encoding」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zx123456789wo/article/details/85119531

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~飘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值