Win10 下 Redis-Cluster 集群搭建
Win10 下 redis 集群搭建
环境准备
redis
- win 版 redis 下载地址 https://github.com/microsoftarchive/redis/releases ,下载 zip 版,解压后,复制六份(建议放在同一文件夹下)。
- 重命名 redis-svrver 文件夹为 6371、6372、6373、6374、6375、6376。
寻找 redis.windows.conf 中相同参数并修改,端口与文件夹名相同。
1
2
3
4
5port 6371
appendonly yes
cluster-enabled yes
cluster-config-file nodes-6371.conf
cluster-node-timeout 15000编写脚本,启动六个 redis-svrver。新建 txt,复制脚本到 txt 中,修改 txt 扩展名为 bat 或者 cmd(我命名为 redis-all.cmd)。
我将 redis-svrver 都放在 D 盘的 redis 文件夹中,如果和我不同,自行修改脚本,下图为大致的目录结构。
1
2
3
4
5
6
7
8
9
10
11
12@echo off
D:
cd redis
for %%i in (1 2 3 4 5 6) do (
if %%i == 1 (
cd 637%%i
start redis-server.exe redis.windows.conf
) else (
cd ../637%%i
start redis-server.exe redis.windows.conf
)
)下载 redis-trib.rb,下载地址为 https://raw.githubusercontent.com/antirez/redis/3.0/src/redis-trib.rb ,浏览器直接 ctrl + s,保存为 redis-trib.rb 即可。
- 编写 redis 集群初始化脚本,注意,脚本要和 redis-trib.rb 平级。新建、保存和上面操作一样(我命名为 redis-trib.cmd)。
1
ruby redis-trib.rb create --replicas 1 127.0.0.1:6373 127.0.0.1:6374 127.0.0.1:6375 127.0.0.1:6376 127.0.0.1:6377 127.0.0.1:6378
ruby
- 使用 http://railsinstaller.org/en ,安装 Windows ruby 2.3 版本即可。
打开 cmd,依次输入以下命令,检查环境(正常情况下,会打印 ruby 和 gem 版本号)。
1
2ruby -v
gem -v如果没有问题,执行 gem install redis,安装 redis 集群需要的环境。
集群搭建
- 运行 redis-all.cmd。
- 运行 redis-trib.cmd。
运行 redis-trib.cmd 一段时间后,需要确认,输入 yes 即可。再次等待一段时间,会给六个 redis-server 分配主从的同时,给主 redis 分配 solt。如果六个 redis-server 窗口都开始刷屏,说明到这一步没有问题(有问题,使用搜索引擎解决或查看下方遇到的问题)。
再次打开 cmd,先 cd 到一个 redis-server 目录,输入以下命令,连接 redis-cli。
1
redis-cli.exe -c -p 6371
连接成功后,输入以下命令,使用 redis-server 可视化工具(RDM),连接其它节点,查看是否有 name ,如果有,说明集群已经正常工作。
1
set name mgzu
遇到的问题
双击 redis-trib.cmd 一闪而逝
可以打开 cmd,cd 到脚本目录,使用以下命令启动,如果发生错误,可以在窗口中看到错误信息。1
start redis-trib.cmd
当我第一次初始化集群时,只有三个主节点在同步数据,三个从节点并未同步
解决方法是删除所有 redis-server 目录下的 dump 和 nodes-*.conf 文件,重新初始化集群。
(error) CLUSTERDOWN The cluster is down
当集群初始化失败,连接到 redis-cli,插入数据时,就会发生这个错误,解决方式与上面相同。
(error) MOVED 5798 127.0.0.1:6372
当集群环境中,启动 redis-cli,插入数据时,有时会发生 MOVED 错误,需要使用错误提示中的端口,或者加上 -c 参数。
参考资料
https://blog.csdn.net/hao495430759/article/details/80540407
Last updated: 2019-07-27
This blog is under a CC BY-NC-SA 4.0 International License
本文链接:http://mgzu.github.io/2019/07/27/Redis-cluster-for-win10/