一:所需软件
1、Ruby语言运行环境 2、redis 3.0 64位 3、Redis的Ruby驱动redis-xxxx.gem 4、创建Redis集群的工具redis-trib.rb
二、安装与部署
(1)、 Redis:参考的是Microsoft Open Tech Group 在GitHub上开发了Win64的版本: https://github.com/MSOpenTech/redis/releases
然后对其解压即可,我放在:D:\softwareplace\redis目录下。
解压得到文件如下:
(2)、ruby环境的准备
1、redis的集群使用 ruby脚本编写,所以系统需要有 Ruby 环境 ,下载地址 http://dl.bintray.com/oneclick/rubyinstaller/:rubyinstaller-2.3.3-x64.exe
安装时,一直点下一步就可,如果中间要换安装地址的话,记得把环境变量配上。
2、安装Redis的Ruby驱动redis-xxxx.gem
下载地址https://rubygems.org/pages/download,下载后解压,当前目录切换到解压目录中,如 D:\software\redis\rubygems-2.6.12 (即redis的目录)然后在命令行执行 ruby setup.rb。
然后GEM 安装 Redis :切换到redis安装目录,需要在命令行中,执行 gem install redis
(3)、安装集群脚本redis-trib
下载地址:https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb
打开该链接如果没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb,建议保存到一个Redis的目录下,例如放到6379目录下。
三、搭建
1、先在d:目录下,新建几个文件夹,我的命名是:7000-7012,每个文件夹中,复制redis目录下的两个文件:
对每个文件的redis.windows.conf进行修改以下参数:
port 7001(对应文件夹的端口号)
cluster-enabled yes
cluster-config-filenodes.conf
cluster-node-timeout5000
appendonly yes
注意点: cluster-enabled一开始在文件中前面有#号的,这代表了注释,要重新写过。
这些参数的意思是:
Port:端口 cluster-enabled:代表是否允许集成
Cluster-config-filenodes.conf 代表它要生成的文件,这个文件对集群起标识作用,下次集群时加载点。
Cluster-node-timeout:代表了如果某个点规定多长时间是确定不可达。
2、修改完后,每个文件就代表了一个节点,然后,分别对各个文件启动服务。
用cmd到文件的目录下,然后执行:
Redis-server.exe redis.windows.conf
这样代表成功。
3、创建集群
用cmd打开redis目录,然后,执行:
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:7003127.0.0.1:7004 127.0.0.1:7005
形如这样的语句。
解释,create代表创建集群 replicas代表从服务器的个数。
如果,replicas 0就代表了,创建一个只有master的集群,但凡有一个服务器停止运行,整个集群就瘫痪。停止的语句是在redis目录下用cmd运行:
redis-cli -h 172.168.10.254 -p 6379 shutdown
如果,replicas 1就代表了一主一从。创建成功会显示:
之后点击yes
这样一个集群便建成功了。
4、测试
用cmd,在redis目录下执行客户端连接服务器语句:
Redis-cli –c –h 127.0.0.1 –p7007
然后停止7007服务:
然后再去7010(7007的从服务器)验证是否还显示:
结果是显示的,这是因为,主从模式,如果主崩溃了,停止服务了,从服务会过个cluster-time-out的时间,然后代替上去。
参考文献: