缘起

网上很多关于Redis的安装教程都是基于Linux的,有一部分是基于是windows的,但都是在线的,这在生产环境有时候是不适用的,因为生产环境一般都是离线的,那么有没有办法在离线的情况下再windows上装一个Redis集群呢?

一、安装依赖

1.安装Ruby环境

这一步比较简单,直接点击我的提供资源中的安装包下一步下一步就完事了

Windows下离线部署Redis主从集群_离线redis

2.安装redis.gem

讲道理如果你联网的情况下你是可以通过如下命令安装的


gem install redis


但如果没网的情况就要采用如下命令(记得把路径换成你自己的,别傻乎乎自己拷贝过去运行。。。gem包在下载我提供的包里有)


gem install --local E:\app\redis-3.3.0.gem


Windows下离线部署Redis主从集群_windows安装redis_02

二、安装配置Redis

1.在redis目录下创建6个节点的文件夹:7000-7005

Windows下离线部署Redis主从集群_redis windows_03

2.将redis下面的文件复制到各个节点文件夹下面

Windows下离线部署Redis主从集群_redis集群_04

3.修改6个文件夹下redis.windows.conf 文件配置

port 7000

cluster-enabled yes

cluster-config-file nodes-7000.conf

cluster-node-timeout 15000

appendonly yes

改端口的,记得不同的节点改成不同的。

如果cluster-enabled 不为yes, 那么在使用JedisCluster集群代码获取的时候,会报错。

cluster-node-timeout 调整为 15000,那么在创建集群的时候,不会超时。

cluster-config-file nodes-6379.conf 是为该节点的配置信息,这里使用 nodes-端口.conf命名方法。服务启动后会在目录生成该文件。

4.编写一个bat来启动redis,在每个节点目录下创建start.bat,内容如下(端口记得对应):

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

Windows下离线部署Redis主从集群_redis_05

5.把文件夹中的redis-trib.rb复制到redis目录

Windows下离线部署Redis主从集群_redis windows_06

6.启动每个节点并且执行集群构建脚本

先在 redis目录命令行下执行

redis-server.exe redis.windows.conf

Windows下离线部署Redis主从集群_离线redis_07

把每个节点的 start.bat 文件点击运行

在切换到redis目录下命令行执行

ruby redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

在出现 Can I set the above configuration? (type ‘yes’ to accept): 请确定并输入 yes 。

到此集群就装好了

三、测试

操作某个节点指令 在 E:/app/Redis-x64-3.0.504 下执行

redis-cli.exe -c -p 7000

在7000节点存储一个键

Set test zxh

Windows下离线部署Redis主从集群_redis windows_08

重新打开一个cmd窗口连接7001节点

redis-cli.exe -c -p 7001

取出7001的值

get test

Windows下离线部署Redis主从集群_redis windows_09

说明集群数据同步成功

懒癌患者的福音

为防懒癌患者,我提供一个已经配置好的安装包,讲道理,你只需要执行上面的第一项的安装依赖里面的内容,并且执行第二项安装redis中的第6步,就可以搭建完毕了,配置好的安装包如下下载。

写在最后

这种方式实际上只是搭建了最普通的redis主从集群,但实际上这种集群模式是存在问题的,比如不会自动选举。

master节点挂了以后,redis就不能对外提供写服务了,因为剩下的slave不能成为master。所以,就有了sentinel模式,下一篇文章我会写写怎么在windows上搭建sentinel模式的redis集群