Win10 下 Redis-Cluster 集群搭建

Author Avatar
mgzu POST: 2019-07-27 UPDATED: 2019-07-27

Win10 下 redis 集群搭建

环境准备

redis
  1. win 版 redis 下载地址 https://github.com/microsoftarchive/redis/releases ,下载 zip 版,解压后,复制六份(建议放在同一文件夹下)。
  2. 重命名 redis-svrver 文件夹为 6371、6372、6373、6374、6375、6376。
  3. 寻找 redis.windows.conf 中相同参数并修改,端口与文件夹名相同。

    1
    2
    3
    4
    5
    port 6371
    appendonly yes
    cluster-enabled yes
    cluster-config-file nodes-6371.conf
    cluster-node-timeout 15000
  4. 编写脚本,启动六个 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
    )
    )
  5. 下载 redis-trib.rb,下载地址为 https://raw.githubusercontent.com/antirez/redis/3.0/src/redis-trib.rb ,浏览器直接 ctrl + s,保存为 redis-trib.rb 即可。

  6. 编写 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
  1. 使用 http://railsinstaller.org/en ,安装 Windows ruby 2.3 版本即可。
  2. 打开 cmd,依次输入以下命令,检查环境(正常情况下,会打印 ruby 和 gem 版本号)。

    1
    2
    ruby -v
    gem -v
  3. 如果没有问题,执行 gem install redis,安装 redis 集群需要的环境。

集群搭建

  1. 运行 redis-all.cmd。
  2. 运行 redis-trib.cmd。

    运行 redis-trib.cmd 一段时间后,需要确认,输入 yes 即可。再次等待一段时间,会给六个 redis-server 分配主从的同时,给主 redis 分配 solt。如果六个 redis-server 窗口都开始刷屏,说明到这一步没有问题(有问题,使用搜索引擎解决或查看下方遇到的问题)。
    创建集群成功

  3. 再次打开 cmd,先 cd 到一个 redis-server 目录,输入以下命令,连接 redis-cli。

    1
    redis-cli.exe -c -p 6371
  4. 连接成功后,输入以下命令,使用 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/