所需:
(1)redis
(2)Ruby语言运行环境
(3)Redis的Ruby驱动redis-xxxx.gem
(4)创建Redis集群的工具redis-trib.rb
一、配置redis
下载安装
https://blog.csdn.net/qq_22860341/article/details/77533372
下载一份redis,我这里使用3.2版本。
集群规划有三个节点的集群,每个节点有一主一备。需要6台虚拟机。
把 redis 解压后,再复制出 5 份,配置 三主三从集群。
由于 redis 默认端口号为 6379,那么其它5份的端口可以为6380,6381,6382,6383,6384。
并且把目录使用端口号命名:
打开每个文件夹,修改redis.windows.conf,修改里面的端口号,以及集群支持配置:
port XX //改为对应的端口,对应每个文件夹名字最好
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
appendonly yes
以上6个文件夹都要改哦。
将6个redis注册为本地服务
cmd 切换到redis目录,
redis-server.exe --service-install redis.windows.conf --service-name redis6380 --port 6380
6个都要注册一次,修改端口和service-name就行,配置好了如下:
二安装Ruby
下载:https://rubyinstaller.org/downloads/
64位:
下载之后安装即可。
安装时3个选项都勾选
安装Redis的Ruby驱动redis-xxxx.gem
下载地址
https://rubygems.org/pages/download
下载后解压,当前目录切换到解压目录中(cmd命令)
比如我解压到D盘:
然后在命令行执行
ruby setup.rb
然后GEM 安装 Redis :切换到redis安装目录(切换到6379端口的redis目录),需要在命令行中,执行 gem install redis
安装集群脚本redis-trib
下载地址 https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb
打开该链接如果没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb,建议保存到一个Redis的目录下,例如放到6379目录下。
启动每个节点并且执行集群构建脚本
把每个redis服务启动, 在切换到redis目录(6379端口目录)在命令行中执行
redis-trib.rb create --replicas 1 127.0.0.1:6379 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
或者
ruby redis-trib.rb create --replicas 1 127.0.0.1:6379 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
以前就可以了。
如果在最后一步出现以下错误:
槽4601被占用。
解决方案
在Redis集群中,清空各个节点上的数据(flushall命令),并执行cluster reset指令。