缘起
网上很多关于Redis的安装教程都是基于Linux的,有一部分是基于是windows的,但都是在线的,这在生产环境有时候是不适用的,因为生产环境一般都是离线的,那么有没有办法在离线的情况下再windows上装一个Redis集群呢?
一、安装依赖
1.安装Ruby环境
这一步比较简单,直接点击我的提供资源中的安装包下一步下一步就完事了
2.安装redis.gem
讲道理如果你联网的情况下你是可以通过如下命令安装的
gem install redis
但如果没网的情况就要采用如下命令(记得把路径换成你自己的,别傻乎乎自己拷贝过去运行。。。gem包在下载我提供的包里有)
gem install --local E:\app\redis-3.3.0.gem
二、安装配置Redis
1.在redis目录下创建6个节点的文件夹:7000-7005
2.将redis下面的文件复制到各个节点文件夹下面
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
5.把文件夹中的redis-trib.rb复制到redis目录
6.启动每个节点并且执行集群构建脚本
先在 redis目录命令行下执行
redis-server.exe redis.windows.conf
把每个节点的 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
重新打开一个cmd窗口连接7001节点
redis-cli.exe -c -p 7001
取出7001的值
get test
说明集群数据同步成功
懒癌患者的福音
为防懒癌患者,我提供一个已经配置好的安装包,讲道理,你只需要执行上面的第一项的安装依赖里面的内容,并且执行第二项安装redis中的第6步,就可以搭建完毕了,配置好的安装包如下下载。
写在最后
这种方式实际上只是搭建了最普通的redis主从集群,但实际上这种集群模式是存在问题的,比如不会自动选举。
master节点挂了以后,redis就不能对外提供写服务了,因为剩下的slave不能成为master。所以,就有了sentinel模式,下一篇文章我会写写怎么在windows上搭建sentinel模式的redis集群