Windows 10 搭建Redis 集群环境

Windows 10 搭建Redis 集群环境http://www.bieryun.com/3087.html

Windows 10 搭建Redis 集群环境

1、下载最新的redis安装包:redis下载地址

2.解压redis压缩包后,将redis.conf 文件进行修改,修改关键代码如下:

[html] view plain copy

  1. port 7005
  2. cluster-enabled yes
  3. cluster-config-file nodes.conf
  4. cluster-node-timeout 5000
  5. appendonly yes

文件中的 cluster-enabled 选项用于开实例的集群模式, 而 cluster-conf-file 选项则设定了保存节点配置文件的路径, 默认值为 nodes.conf

3、为了能够演示集群3主3从的环境,我们分别在redis解压包的根目录下建立6个文件夹,文件夹名称以端口号命名,将redis.conf 分别拷贝到对应的端口文件夹下面,并修改对应文件中的端口地址及cluster-config-file 后面的文件名

4、使用下面的命令,启动对应的redis 服务器

redis-server ./redis.conf

Note:实例会一直使用同一个 ID , 从而在集群中保持一个独一无二(unique)的名字。

每个节点都使用 ID 而不是 IP 或者端口号来记录其他节点, 因为 IP 地址和端口号都可能会改变, 而这个独一无二的标识符(identifier)则会在节点的整个生命周期中一直保持不变。

5、创建集群

现在我们已经有了六个正在运行中的 Redis 实例, 接下来我们需要使用这些实例来创建集群, 并为每个节点编写配置文件。

通过使用 Redis 集群命令行工具 redis-trib ,下载地址, 它是一个 Ruby 程序, 这个程序通过向实例发送特殊命令来完成创建新集群, 检查集群, 或者对集群进行重新分片(reshared)等工作。 为了能够运行Ruby程序,我们需要安装Ruby运行环境地址如下: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

Note:redis-trib.rb create:创建一个集群

--replicas :集群中每一个主节点创建一个从节点

在运行完这个命令之后,redis-trib会打印出一份配置列表,里面包含了主从库的配置信息,输入yes并继续安装

>>> 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
127.0.0.1:7000 replica #1 is 127.0.0.1:7003
127.0.0.1:7001 replica #1 is 127.0.0.1:7004
127.0.0.1:7002 replica #1 is 127.0.0.1:7005
M: 9991306f0e50640a5684f1958fd754b38fa034c9 127.0.0.1:7000
slots:0-5460 (5461 slots) master
M: e68e52cee0550f558b03b342f2f0354d2b8a083b 127.0.0.1:7001
slots:5461-10921 (5461 slots) master
M: 393c6df5eb4b4cec323f0e4ca961c8b256e3460a 127.0.0.1:7002
slots:10922-16383 (5462 slots) master
S: 48b728dbcedff6bf056231eb44990b7d1c35c3e0 127.0.0.1:7003
S: 345ede084ac784a5c030a0387f8aaa9edfc59af3 127.0.0.1:7004
S: 3375be2ccc321932e8853234ffa87ee9fde973ff 127.0.0.1:7005
Can I set the above configuration? (type 'yes' to accept): yes

当配置完成之后,redis-trib输出一下信息:

>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

从输出信息可以看出所有的槽至少有一个主节点,这标识运行正常。

测试集群:使用redis-cli.exe

E:\study\Redis-x64-3.2.100>redis-cli.exe -c -p 7005
127.0.0.1:7005> get k1
-> Redirected to slot [12706] located at 127.0.0.1:7002
"v2"
127.0.0.1:7002> get k2
-> Redirected to slot [449] located at 127.0.0.1:7000
"v2"
127.0.0.1:7000>

我们可以看到它依靠redis来将它转向正确的节点。