在开始本文之前首先你得要将Redis-Cluster-搭建环境准备好,因为本文的内容是基于该环境进行演示和介绍的。
利用 Redis 官方提供的 Ruby
脚本安装 Redis cluster
,配置并启动 6
台服务器,上面已经介绍过这里直接略过。
下载 Ruby
下载地址:https://rubyinstaller.org/downloads/archives/
安装 Ruby
双击 .exe
文件进行安装即可:
校验是否安装成功打开终端在终端当中输入如下命令进行校验:
ruby -v
gem -v
如果出现了如上的信息即可证明已经成功了。
下载 RubyGems
下载地址:https://rubygems.org/pages/download
下载完毕之后进入到解压目录当中然后在打开终端:
输入:ruby setup.rb
如果输入了对应的指令之后失败了就试着以管理员的方式进行打开终端然后在输入一次指令:
通过 RubyGems 安装 Redis 在终端当中输入 gem install redis
:
下载 redis-trib.rb 文件
还是之前下载 Redis 的地址不过这次下载的是它的源代码:
下载完毕之后找到下载的文件然后,进入到 src
目录当中,找到如下截图当中的文件拷贝一份出来:
然后在拷贝出来文件的存放目录的位置打开终端,在终端执行 redis-trib.rb
创建 Redis Cluster
:
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
如上命令的含义为创建一个 Redis Cluster 当中的 1 代表的是需要建立一个主从的关系的 Redis Cluster:
温馨提示:如果你自行按照文章搭建的时候发现运行我如上命令报:
[ERR] Node 127.0.0.1:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
你可以试着去按照如下我给出的几个步骤去操作一下然后在执行应该就没有问题了:
- 将 7000 ~ 7005 每一台 Redis 服务下的 aof、rdb 等本地备份文件删除。
- 将 7000 ~ 7005 每一台 Redis 服务当中配置文件当中,所配置的
cluster-config-file
所在的文件给删除。 - 将 7000 ~ 7005 每一台 Redis 服务执行
flushdb
清空当前数据库
测试
主从结构:
分配槽的情况如下: