一、资源准备
二、Redis服务配置
双击Redis-x64-3.2.100.msi文件安装Redis服务,安装完成后,将Redis安装目录文件复制五份,并更改文件夹名称,文件结构如下:
1、端口修改
将每一个Redis服务配置文件redis.windows.conf中监听端口号修改为新的编号,如Redis7000服务的端口号修改如下:
port 7000
其他服务端口号相应作修改。
二、修改其他配置项支持集群
cluster-enabled yes
appendonly yes
cluster-node-timeout 15000
cluster-config-file nodes-7000.conf
cluster-config-file是为该节点的配置信息,这里使用 nodes-端口.conf命名方法。服务启动后会在目录生成该文件。
三、服务安装批处理
在每个Redis服务安装目录下创建服务安装批处理文件InstallServer.bat,内容如下:
@echo off
redis-server --service-install redis.windows.conf --loglevel verbose --service-name Redis7000
@pause
其中,--service-name按服务端口号命名。
现在可以启动6个Redis服务了,如下:
四、安装Ruby
双击rubyinstaller-2.1.7-x64.exe文件安装Ruby
五、安装rubygems
解压文件rubygems-3.0.6.zip,DOS进入rubygems-3.0.6目录,执行 ruby setup.rb命令。
然后GEM 安装 Redis :切换到redis安装目录,需要在命令行中,执行 gem install redis命令。
六、安装集群脚本redis-trib
解压redis-3.2.0.tar.gz文件,进入目录\redis-3.2.0\src,复制redis-trib.rb文件到Redis7000安装目录下,切换DOS工作目录到Redis7000安装目录,执行命令:
ruby redis-trib.rb create --replicas 1 172.20.10.3:7000 172.20.10.3:7001 172.20.10.3:7002 172.20.10.3:7003 172.20.10.3:7004 172.20.10.3:7005
--replicas 1 表示每个主服务器拥有从服务器个数为1。master节点不能少于3个,所以我们用了6个redis 。
注:redis-trib.rb的链接指向官网最新的版本,我们在自己对应linux版本的Redis包src目录下获取redis-trib.rb即可,否则有可能执行以上脚本会报如下错误:
WARNING: redis-trib.rb is not longer available!
You should use redis-cli instead.
以上命令执行后,DOS终端打印如下:
输入yes接受配置,得到集群创建结果,槽信息分片、主从节点关系等如下:
注:如果waiting for the cluster to join... ...一直等待,无法创建集群成功,或者报错集群节点数据库非空,需要使用客户端连接每个节点先后执行flushall和cluster reset命令,命令执行完后再重新执行redis-trib.rb脚本重新创建集群即可。
六、集群测试
1、cluster info
2、cluster nodes
3、键值对命令
从cluster nodes命令结果我们知道:
7003复制 7000
7004复制 7001
7005复制 7002
客户只需要连接一个节点,即可操作整个集群。