1、以端口号新建如下文件夹,用于部署三主三从集群模式。
每个目录下都复制相同的一份redis解压包,如下所示:
)
每个目录下都复制相同的一份redis解压包,如下所示:
或者直接复制六份解压包,再更新文件名。
2、修改配置文件,以6380节点为例
1)修改端口号
2)开启redis集群模式的相关基础配置
3、启动6个示例
每个目录下执行命令:redis-server.exe redis.windows.conf
4、开启集群模式
在一个redis目录下执行:redis-trib.rb create --replicas 1 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 127.0.0.1:6385
踩坑一:
在windows使用redis-cli --cluster create 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 127.0.0.1:6385 --cluster-replicas 1创建集群时报错:
Unrecognized option or bad number of args for: ‘–cluster’
原因是redis-5.0.0版本开始才支持“–cluster”,而windows最新的版本才是3.2.100,所以windows暂时不能使用redis-cli来集群,可通过redis-trib.rb create --replicas 1 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 127.0.0.1:6385,但是要安装Ruby。
踩坑二:
执行redis-trib.rb create --replicas 1 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 127.0.0.1:6385报错如下:
这是因为创建集群的ruby脚本redis-trib.rb和redis的版本不相符
解决方法就是:找到和redis版本适合的redis_trib.rb,在对应的redis源码包里就有
解压后就在src路径下,复制到redis某一个实例下即可
踩坑三
如果设置了rdeis密码,重新创建redis集群就就会报错:>>> Creating cluster
Connecting to node 127.0.0.1:6380: [ERR] Sorry, can’t connect to node 127.0.0.1:6380
这时需要更改redis_trib.rb配置,增加密码的设置。
踩坑四
如果构建集群执行命令时会报错:[ERR] Node 127.0.0.1:6381 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
把每个端口生成的配置文件nodes.conf删掉,重启即可。