Redis - Windows下,redis集群

摘要: 原创出处 https://blog.****.net/hao495430759/article/details/80540407?tdsourcetag=s_pctim_aiomsg 感谢这位博主!!!

这边是在这位博主的基础上搭建的,还有一些碰到的坑。

搭建准备:首先到 https://github.com/MSOpenTech/redis/releases 下载Redis-Windows版本;下载好后解压,解压之后可看到这些文件:这边用的版本是 3.2.100

Redis - Windows下,redis集群

在当前目录下启动,redis准备完毕。

redis-server.exe  redis.windows.conf

Redis - Windows下,redis集群

下面开始介绍windows下集群搭建。

1.首先我们构建集群节点目录:

(集群正常运作至少需要三个主节点,不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其余三个则是各个主节点的从节点。主节点崩溃,从节点的Redis就会提升为主节点,代替原来的主节点工作,崩溃的主Redis回复工作后,会成为从节点)

拷贝开始下载的redis解压后的目录,并修改文件名(比如按集群下redis端口命名)如下,这边将redis拷贝为6份了。
Redis - Windows下,redis集群

6381,6382,6383,6384,6385,6386 对应的就是后面个节点下启动redis的端口。

在节点目录下新建文件,输入(举例在6381文件夹下新建文件)

title redis-6381
redis-server.exe redis.windows.conf

然后保存为start.bat 下次启动时直接执行该脚本即可(双击直接启动),bat文件放置在对应的文件目录下;

Redis - Windows下,redis集群
接着分别打开各个文件下的 redis.windows.conf,分别修改如下配置(举例修改6381文件下的redis.window.conf文件):

1、port 6380 //修改为与当前文件夹名字一样的端口号
2、appendonly yes //指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。 yes表示:存储方式,aof,将写操作记录保存到日志中
3、cluster-enabled yes //开启集群模式
4、cluster-config-file nodes-6381.conf  //保存节点配置,自动创建,自动更新(建议命名时加上端口号)
5、cluster-node-timeout 15000 //集群超时时间,节点超过这个时间没反应就断定是宕机

注意:在修改配置文件这几项配置时,配置项前面不能有空格,否则启动时会报错(参考下面)

Redis - Windows下,redis集群

第一个节点配置完成:

Redis - Windows下,redis集群

双击启动脚本,如下图则表示配置成功:

Redis - Windows下,redis集群

其余五个节点,按照上面的方法配置就好了,添加启动脚本,修改conf配置,注意,配置文件已经启动脚本的端口一一对应就行了。

 

2.下载Ruby并安装:https://rubyinstaller.org/downloads/ ,一直下一步就好了(三个选项需要全勾上)

Redis - Windows下,redis集群

安装完成后,配置ruby:

Redis - Windows下,redis集群

3.构建集群脚本redis-trib.rb

可以打开 https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb 然后复制里面的内容到本地并保存为

redis-trib.rb;

这个文件可以跟端口放在同一层目录下,也可以单独放在对应的端口目录下。
Redis - Windows下,redis集群

然后依次启动所有集群节点start.bat,这边会有6个cmd窗口。

Redis - Windows下,redis集群

然后cmd进入redis集群节点目录后,执行: (–replicas 1 表示为集群中的每个主节点创建一个从节点)

redis-trib.rb create --replicas 1 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 127.0.0.1:6386

#也可以在前面加个 ruby 命令符
ruby redis-trib.rb create --replicas 1 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 127.0.0.1:6386

启动成功后,最后输入 yes,成功启动集群:

Redis - Windows下,redis集群

Redis - Windows下,redis集群

校验集群是否启动成功,可以引用下面的方法去测试

https://www.cnblogs.com/gossip/p/5993922.html?tdsourcetag=s_pctim_aiomsg

 

注意:这里启动集群的时候会有一个问题:

Redis - Windows下,redis集群

原因:redis-trib.rb文件版本不一致引起的。

解决方案:

https://blog.****.net/aaaadong/article/details/82625567?tdsourcetag=s_pctim_aiomsg