Windows环境下Redis集群搭建

记录下自己搭建过程,尤其是踩过的坑.

 一.编译环境

        Redis正式发布版是纯源代码,需要编译.编译Redis需要GCC和MAKE工具.但这俩个工具是Linux平台的,所以用到MSYS2工具(为Windows环境提供搭建环境).

1.登录MSYS2官网 msys2.org下载64位.我用的版本是20210725

2.下载完毕后解压到你想放的路径下

3.上外网不方便,所以修改pacman的镜像地址.打开解压目录下etc\pacman.d路径下mirrorlist.mingw32,mirrorlist.mingw64,mirrorlist.msys三个文件,每个文件包含很多配置镜像地址的代码,将.cn结尾的一个地址复制到配置文件第一行.让pacman优先使用该镜像地址下载如:

Server = https://mirrors.bit.edu.cn/msys2/msys/$arch/

本人就是配置的这行地址.这个地址是北京理工大学开源软件镜像服务.

坑:每个文件具体配置不一样的.你选中了北京理工大学的镜像,具体配置从原文件里拷到第一行,不要把我上面这个直接拷到三个文件.

4.运行根目录下msys2.exe,第一次会执行初始化.完成后退出.重新启动msys2.exe,然后看到类似Linux终端的窗口(废话,因为这个就是为Windows提供Linux构建环境).

5.输入命令

pacman -Syu

然后等一下,中间有俩个[Y/n],全都是Y.然后完毕后窗口自动关闭.

6.重新启动msy2.exe.然后输入命令

pacman -S gcc make

安装GCC和Make工具包.依然会有确认,输入Y然后回车.会自动下载并安装GCC和Make工具.

二.Redis单机

1.登录Redis官网,下载redis.我开始用的最新分支,折腾半天有问题.后面采用的6.0.9版本

Index of /releases/https://download.redis.io/releases/找到redis-6.0.9.tar.gz下载后解压缩注意,需要解压俩次,第一次完是tar包,再解压一次才是源码.

2.在MSYS2窗口进入源代码的路径下比如:

cd /g/redis-6.0.9

然后运行以下命令编译Redis

make PREFIX=/f/Redis-x64-6.0.9 install

这个命令指定将编译后的Redis放到哪个目录下.

坑:源代码不要删,后面一直有用

3.将MYSYS2安装目录下的usr/bin目录中的msys-2.0.dll文件复制到Redis安装目录的bin路径.不放无法启动服务.然后将Redis源代码路径下redis.conf文件复制到编译安装后的目录的bin路径下,重命名为redis.windows.conf.打开该文件找到如下代码行

# requirepass foobared

改为:

requirepass 123456

4.然后在cmd窗口运行以下命令:

redis-server.exe redis.windows.conf

启动Redis服务,可以将其拷进文本,然后改为run.bat批处理文件,发到桌面快捷方式一键启动.

坑:所有cmd一定要管理员身份运行,懂的都懂

5.启动服务后如下图:

默认6379端口.启动后不要关闭 重新打开一个cmd,其中输入:

redis-cli.exe -a 123456

然后输入ping,返回PONG表示安装成功.输入SHUTDOWN,关闭服务

三.Redis集群

1.集群原理:Redis集群中,所有节点彼此互联,节点内部使用二进制协议优化传输速度和带宽.数据分配规则是采用哈希槽.Redis集群中内置了16384个哈希槽,当有数据需要存储时,Redis首先使用CRC16算法对key进行计算,将计算结果对16384取余,Redis根据这个余数将数据存储到对应的Redis节点上.

2.构建集群目录:新建一个目录RedisCluster,然后将刚才单机的Redis拷过来6份.分别命名为6380,6381,...6385.六个节点,三主三从.打开6380,修改redis.windows.conf文件中的以下配置

port 6380 //修改为与当前文件夹名字一样的端口号
cluster-enabled yes //开启集群模式
cluster-config-file nodes-6380.conf  //保存节点配置,自动创建,自动更新(建议命名时加上端口号)
cluster-node-timeout 15000 //集群超时时间,节点超过这个时间没反应就断定是宕机

然后按照这个修改剩下5个.配置前面不能有空格(现在好像有也能读,可能更新了).然后将6个run.bat脚本都发到桌面上,放一个文件夹里方便之后使用.

3.集群管理工具需要依赖Ruby环境.

下载地址 

Downloadshttps://rubyinstaller.org/downloads/

 我使用的是当前最新版本Ruby+Devkit 3.0.2-1 (×64).下载后安装,最后一步有俩个选项全部打钩,一个是添加到path路径,一个是关联相关后缀文件.

然后打开cmd输入:

gem install redis

安装依赖

4.将Redis源代码中的/src目录下的redis-trib.rb文件复制到RedisCluster文件夹下,最后的结构如下:

 

然后启动6380-6385所有服务.打开cmd进入集群目录后输入:

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 -a 123456

 以前的命令用redis-trib.rb create会显示不可用.(因此我猜是不是不用装ruby也行,毕竟这命令都没用了,不过装都装了,不管了...)

坑:[ERR] Node 127.0.0.1:6380 NOAUTH Authentication required.很显然创建集群也要密码的.

输入后等待,中间还有要询问,显然yes,最后结果如下:

 M:主,Master S:从,Slave

可以看到三主三从都分配好了.哈希槽也分成了三份到主.主库能读写,从库只能读,主库数据自动同步到从数据库中

最后验证,打开cmd,进入集群目录下任一服务的bin,输入:

redis-cli -p 6384 -a 123456 -c

登录实例,然后进行验证如下:

 

 坑:(error) MOVED 5798 127.0.0.1:6381 原因:未以集群方式启动(-c)

至此本地集群搭建完成.采用的模式是主从模式,其余俩种哨兵和Cluster模式基于这个基础很容易搞成.很多大佬都写了,我就不写了

参考文章:Windows下搭建Redis Cluster集群_hao495430759的专栏-CSDN博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值