环境:
Redis-x64-3.0.504, win7, ruby_2.2.4
一、环境安装
1、安装redis
github地址: https://github.com/MicrosoftArchive/redis/releases,下载Redis-x64-3.0.504.zip解压到C:\develop\redis目录下。
2、安装ruby
下载地址:http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.4-x64.exe
此处安装到C:\develop\ruby目录下。
ruby环境的redis驱动:https://rubygems.org/gems/redis/versions/3.2.2
打开右下角直接点下载即可:
安装redis驱动:
将下载的redis驱动,放到C:\develop\ruby\Ruby22-x64\redis目录下,在C:\develop\ruby\Ruby22-x64目录下,打开cmd,运行:
3、下载创建Redis集群的ruby脚本文件redis-trib.rb,这个在redis源码的src目录下有,此处放到C:\develop\redis\Redis-x64-3.0.504目录下:
二、集群启动
1、redis实例启动
最小集群模式需要三个master实例,一般建议起六个实例,即三主三从。此处创建6个以端口号命名的目录存放实例的配置文件和其他信息。在redis目录下新建cluster-test目录,cluster-test目录下建7000,7001,7002,7003,7004,7005六个文件夹。
在7000文件夹内新建redis.windows.conf配置文件,配置项如下:
port 7000
cluster-enabled yes
cluster-config-file nodes.7000.conf
cluster-node-timeout 15000
appendonly yes
其余5个依次创建,修改port和cluster-config-file的值即可。
在端口号目录下,打开cmd,依次启动6个redis实例:
C:/develop/redis/Redis-x64-3.0.504/redis-server.exe ./redis.windows.conf
2、通过使用 Redis 集群命令行工具 redis-trib ,编写节点配置文件的工作可以非常容易地完成:redis-trib
位于 Redis 源码的 src 文件夹中,它是一个 Ruby 程序,这个程序通过向实例发送特殊命令来完成创建新
集群,检查集群,或者对集群进行重新分片(reshared)等工作。
我们需要执行以下命令来创建集群:
./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-trib.rb 程序的命令是 create ,这表示我们希望创建一个新的集群。
• 选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
• 之后跟着的其他参数则是实例的地址列表,我们希望程序使用这些地址所指示的实例来创建新集群。
简单来说,以上命令的意思就是让 redis-trib 程序创建一个包含三个主节点和三个从节点的集群。
接着,redis-trib 会打印出一份预想中的配置给你看,如果你觉得没问题的话,就可以输入 yes ,
redis-trib 就会将这份配置应用到集群当中:
C:\develop\redis\Redis-x64-3.0.504>redis-trib.rb create --replicas 1 127.0.0.1:7
000 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
>>> Creating cluster
Connecting to node 127.0.0.1:7000: OK
Connecting to node 127.0.0.1:7001: OK
Connecting to node 127.0.0.1:7002: OK
Connecting to node 127.0.0.1:7003: OK
Connecting to node 127.0.0.1:7004: OK
Connecting to node 127.0.0.1:7005: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
Adding replica 127.0.0.1:7003 to 127.0.0.1:7000
Adding replica 127.0.0.1:7004 to 127.0.0.1:7001
Adding replica 127.0.0.1:7005 to 127.0.0.1:7002
M: c76474e0a8ed926ef3b67a936841a494583ac587 127.0.0.1:7000
slots:0-5460 (5461 slots) master
M: 80b8412e62807532b1b0c2734ca828174d015b0f 127.0.0.1:7001
slots:5461-10922 (5462 slots) master
M: d7578b4ee1ad7cb9f116e4627ce6206be672d96e 127.0.0.1:7002
slots:10923-16383 (5461 slots) master
S: 130f6635c16fd57c492762af1cff9c6d3710abc7 127.0.0.1:7003
replicates c76474e0a8ed926ef3b67a936841a494583ac587
S: b1ba881212ff8c63e06defcee74c1a21c2c1ee64 127.0.0.1:7004
replicates 80b8412e62807532b1b0c2734ca828174d015b0f
S: 87e8e4786f60a86aef223f38a06cc34efd7c1f46 127.0.0.1:7005
replicates d7578b4ee1ad7cb9f116e4627ce6206be672d96e
Can I set the above configuration? (type 'yes' to accept): yes
输入 yes 并按下回车确认之后,集群就会将配置应用到各个节点,并连接起(join)各个节点——也即是,
让各个节点开始互相通讯:
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.........
>>> Performing Cluster Check (using node 127.0.0.1:7000)
M: c76474e0a8ed926ef3b67a936841a494583ac587 127.0.0.1:7000
slots:0-5460 (5461 slots) master
M: 80b8412e62807532b1b0c2734ca828174d015b0f 127.0.0.1:7001
slots:5461-10922 (5462 slots) master
M: d7578b4ee1ad7cb9f116e4627ce6206be672d96e 127.0.0.1:7002
slots:10923-16383 (5461 slots) master
M: 130f6635c16fd57c492762af1cff9c6d3710abc7 127.0.0.1:7003
slots: (0 slots) master
replicates c76474e0a8ed926ef3b67a936841a494583ac587
M: b1ba881212ff8c63e06defcee74c1a21c2c1ee64 127.0.0.1:7004
slots: (0 slots) master
replicates 80b8412e62807532b1b0c2734ca828174d015b0f
M: 87e8e4786f60a86aef223f38a06cc34efd7c1f46 127.0.0.1:7005
slots: (0 slots) master
replicates d7578b4ee1ad7cb9f116e4627ce6206be672d96e
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
3、客户端连接
可用Redis客户端Redis-cli.exe查看集群信息,及数据记录:
参考链接: